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

aluckdog
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(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)1851條經(jīng)驗(yàn) 獲得超4個(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}
- 3 回答
- 0 關(guān)注
- 694 瀏覽
添加回答
舉報(bào)
0/150
提交
取消