在导航控制器中设置后退按钮的动作我试图覆盖导航控制器中Back按钮的默认操作。我在自定义按钮上提供了一个目标动作。奇怪的是,当分配它时,尽管是回退按钮属性,它没有注意到它们,它只是弹出当前的视图并返回到根:UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle: @"Servers"
style:UIBarButtonItemStylePlain
target:self
action:@selector(home)];self.navigationItem.backBarButtonItem = backButton;一旦我让它通过leftBarButtonItem在navigationItem它调用我的动作,然而,这个按钮看起来像一个普通的圆形按钮,而不是一个箭后的按钮:self.navigationItem.leftBarButtonItem = backButton;在返回根视图之前,如何让它调用我的自定义操作?是否有一种覆盖默认回退操作的方法,还是在离开视图时总是被调用的方法(viewDidUnload不是这样的)?
3 回答
aluckdog
TA贡献1847条经验 获得超7个赞
-(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贡献1851条经验 获得超4个赞
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 关注
- 667 浏览
添加回答
举报
0/150
提交
取消