我有一個UITableViewController
,它使用didSelectRowAtIndexPath:
初始化視圖控制器initWithNibName:
。用戶可以返回到表格視圖,但我想執行一個if/else並顯示警報視圖以確認用戶是否想要返回到表格視圖。我沒有線索從哪裏開始。阻止導航控制器導航並要求用戶確認
總之,我想定製後退按鈕。
我有一個UITableViewController
,它使用didSelectRowAtIndexPath:
初始化視圖控制器initWithNibName:
。用戶可以返回到表格視圖,但我想執行一個if/else並顯示警報視圖以確認用戶是否想要返回到表格視圖。我沒有線索從哪裏開始。阻止導航控制器導航並要求用戶確認
總之,我想定製後退按鈕。
難道你不能創建一個UIBarButtonItem
實例並將其分配給視圖控制器的導航項?像這樣的,
UIBarButtonItem * backButton = [[[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(backButtonPressed:)] autorelease];
self.navigationItem.leftBarButtonItem = backButton;
然後在backButtonPressed:
,觸發一個警報視圖。
- (void)backButtonPressed:(id)sender {
// Trigger an alert view.
}
根據用戶選擇,您可以彈出視圖控制器或不彈出視圖控制器。
返回用戶是IBAction爲(或者是你定義的方法,當你設置的按鈕了編程),這樣你就可以從here添加代碼到IBAction爲,把代碼
返回按鈕- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
似乎它會阻止導航控制器導航,但我希望它的另一種方式。 tableviewcontroller使用navigationcontroller來初始化視圖控制器。我想在它返回到tableview時捕獲它。謝謝。 – 2011-06-12 01:48:57
爲什麼你想在它返回時捕捉它?當用戶點擊按鈕時,您會希望看到它,就像在原始問題和標題中一樣。 – 2011-06-12 02:16:52
導航控制器位於視圖控制器中,用戶可以在其中進行更改。我想檢查用戶是否想在執行「後退」代碼之前保存/放棄更改。 – 2011-06-12 02:26:12
太棒了!那是我需要的。我設法定製了按鈕,觸發器工作正常!但是我在代碼中添加了哪些功能才能像普通的後退按鈕那樣工作?因爲現在它不再回來了。 – 2011-06-12 04:29:06
我想通了。非常感謝! – 2011-06-12 04:49:29