有什么方法可以在我的 iPhone 应用程序中按下后退按钮时捕获事件?现在,我正在使用一个带有名为“返回”的图像的按钮,并为其定义操作。
我的客户端需要默认后退按钮指向上一个屏幕,因此根据点击事件我应该能够让它指向特定屏幕以便显示该屏幕的标题。
简而言之,我需要后退按钮来显示我需要的标题,这可能吗?
提前致谢。
最佳答案
如果处理 – navigationBar:didPopItem:
消息,
UINavigationBarDelegate
可能是最接近检测按钮是否已被按下的方法。
这将在按下后退按钮或您的代码从导航 Controller 堆栈本身弹出 View 时调用。如果您的代码手动弹出 View ,那么设置一个标志来指示您的代码何时启动弹出应该很简单,因此您可以确定后退按钮何时被点击
在您的 UINavigationBarDelegate 实现中创建一个 bool 属性,例如 poppedInCode
,您在代码执行 pop 之前将其设置为 true 并像这样实现委托(delegate):
- (void) navigationBar:(UINavigationBar *)navigationBar didPopItem:(UINavigationItem *)item
{
if (!self.poppedInCode) {
// back button was tapped
}
// set to false ready for the next pop
self.poppedInCode = FALSE;
}
这优于当前接受的答案,因为它不需要子类化组件,Apple 的文档说您不应该子类化。它还保留了内置后退按钮的所有行为,您无需重写它。
关于iphone - iphone 应用程序中的后退导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6595621/