如何判断在UINavigationControllerStack中按下后退按钮的时间

6 iphone objective-c uinavigationcontroller

是否可以检查何时在UINavigationController堆栈中按下后退按钮?我已经尝试将一个动作和目标添加到self.navigationItem.backBarButtonItem无济于事.

有人有任何解决方案?

mon*_*oos -1

解决这个问题的一种方法是viewWillDisappear在按下后退按钮时可见的 UIViewController 中进行覆盖:

- (void)viewWillDisappear:(BOOL)animated {
    if (self.isMovingFromParentViewController) {
        // handle back button press
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,这不会直接拦截后退按钮本身的按下,但它给了你当时执行逻辑的机会。