是否可以检查UINavigationController堆栈中何时按下后退按钮?我尝试将一个动作和目标添加到self.navigationItem.backBarButtonItem无济于事。
有人有任何解决方案吗?
答案 0 :(得分:0)
你可以试试我的方式:
在ViewController中写入:
UIBarButtonItem *backBt = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageNameOfBackButton"] style:UIBarButtonItemStyleBordered target:self action:@selector(backBt_touch:)];
self.navigationItem.leftBarButtonItem = backBt;
行动方法:
- (void)backBt_touch:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
你必须拍一张你想要的后退按钮的照片。
弹出viewController时隐藏按钮的动画与iOS的动画不同!
P / s: 我从模拟器中得到它。希望它有用! :)
答案 1 :(得分:-1)
实现此目的的一种方法是覆盖按下后退按钮时可见的UIViewController中的viewWillDisappear
:
- (void)viewWillDisappear:(BOOL)animated {
if (self.isMovingFromParentViewController) {
// handle back button press
}
}
显然这并没有直接拦截后退按钮本身的按键,但它让你有机会在那时执行逻辑。