我有一個導航視圖控制器,它在一些tableviews之間導航,我剛剛在其中一個表格的單元格內添加了一個「編輯」按鈕。我想要發生的事情是,用戶可以點擊單元格內的編輯按鈕,導航控制器可以跨越一個新的視圖進行分流,在該視圖中,所有單元格的內容都是爲了便於編輯而佈局的。從單元格的視圖控制器推動導航控制器的新視圖
但是,單元無法訪問導航控制器,無法將新視圖控制器推入其堆棧。我該怎麼做我想要的?
請注意,我沒有使用塞格斯和故事,因爲它是一箇舊的應用程序,我想繼續支持運行iOS 4設備
我有一個導航視圖控制器,它在一些tableviews之間導航,我剛剛在其中一個表格的單元格內添加了一個「編輯」按鈕。我想要發生的事情是,用戶可以點擊單元格內的編輯按鈕,導航控制器可以跨越一個新的視圖進行分流,在該視圖中,所有單元格的內容都是爲了便於編輯而佈局的。從單元格的視圖控制器推動導航控制器的新視圖
但是,單元無法訪問導航控制器,無法將新視圖控制器推入其堆棧。我該怎麼做我想要的?
請注意,我沒有使用塞格斯和故事,因爲它是一箇舊的應用程序,我想繼續支持運行iOS 4設備
你應該按鈕的目標設定爲已經在棧上的UIViewController ?
我不知道,如果你想這樣,但你可以嘗試:
// In action method for edit button
- (void)editButtonClicked {
EditViewController *editViewController = [[EditViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:editViewController animated:YES];
[editViewController release];
}
如果不希望這個新的視圖添加到導航(棧),只需使用PresentModalViewController
// In action method for edit button
- (void)editButtonClicked {
EditViewController *editViewController = [[EditViewController alloc] initWithNibName:@"EditViewController" bundle:nil];
[self.navigationController presentModalViewController:editViewController animated:YES];
[editViewController release];
}
在我的情況下,「自我」是按鈕所在的單元格,它無法訪問navigationController。 –
如果你沒有在你的應用中實現NavigationController,那麼從語法中刪除navigationController。你將能夠打開一個新的view.Hope這將解決你的問題。否則,在這裏放一些代碼,你實際上是在視圖Transitions中做的。 –
該navcontroller已實施。問題在於按鈕和代碼位於表格單元格中。我可以從表格本身訪問navcontroller,但單元格是低一級的,不知道它。 –
我不知道你能做到這一點。我嘗試了它,並崩潰了應用程序使用此行時,單元格由tableview控制器創建...'[cell.editButton addTarget:self action:@selector(pressEditButton :) forControlEvents:UIControlEventTouchUpInside];' –
沒關係。我犯了一個愚蠢的錯誤,現在正在工作。多謝。 –
很高興我能幫到你。使viewcontroller處理動作等是一個好主意,而不是像單元或視圖這樣的元素。特別是當涉及到導航時。 –