在導(dǎo)航控制器中設(shè)置后退按鈕的動(dòng)作我試圖覆蓋導(dǎo)航控制器中Back按鈕的默認(rèn)操作。我在自定義按鈕上提供了一個(gè)目標(biāo)動(dòng)作。奇怪的是,當(dāng)分配它時(shí),盡管是回退按鈕屬性,它沒有注意到它們,它只是彈出當(dāng)前的視圖并返回到根:UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle: @"Servers"
style:UIBarButtonItemStylePlain
target:self
action:@selector(home)];self.navigationItem.backBarButtonItem = backButton;一旦我讓它通過leftBarButtonItem在navigationItem它調(diào)用我的動(dòng)作,然而,這個(gè)按鈕看起來像一個(gè)普通的圓形按鈕,而不是一個(gè)箭后的按鈕:self.navigationItem.leftBarButtonItem = backButton;在返回根視圖之前,如何讓它調(diào)用我的自定義操作?是否有一種覆蓋默認(rèn)回退操作的方法,還是在離開視圖時(shí)總是被調(diào)用的方法(viewDidUnload不是這樣的)?
3 回答

慕勒3428872
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
-(void) viewWillDisappear:(BOOL)animated { if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) { // back button was pressed. We know this is true because self is no longer // in the navigation stack. } [super viewWillDisappear:animated];}

侃侃無極
TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
navigationShouldPopOnBackButton
UIViewController
-(BOOL) navigationShouldPopOnBackButton { if(needsShowConfirmation) { // Show confirmation alert // ... return NO; // Ignore 'Back' button this time } return YES; // Process 'Back' button click and Pop view controler}
下載示例應(yīng)用程序.
- 3 回答
- 0 關(guān)注
- 420 瀏覽
添加回答
舉報(bào)
0/150
提交
取消