小智 5
这是我的解决方案,基于从 Blankarsch 到此 StackOverflow 问题的 Objective-C 代码:How to trap the back button event
将此代码放在要捕获来自以下位置的后退按钮调用的视图控制器中:
override func didMoveToParentViewController(parent: UIViewController?) {
if (!(parent?.isEqual(self.parentViewController) ?? false)) {
println("Back Button Pressed!")
}
}
Run Code Online (Sandbox Code Playgroud)
在 if 块内,处理您需要传回的任何内容。您还需要返回调用视图控制器的引用,因为此时 parent 和 self.parentViewController 很可能都为零,因此您无法导航视图控制器树。
此外,您可能可以通过简单地检查父项是否为零而逃脱,因为我还没有发现按下后退按钮不会导致父项为零的情况。所以这样的事情更简洁一点:
override func didMoveToParentViewController(parent: UIViewController?) {
if (parent == nil) {
println("Back Button Pressed!")
}
}
Run Code Online (Sandbox Code Playgroud)
但我不能保证每次都有效。
归档时间: |
|
查看次数: |
23747 次 |
最近记录: |