在我的应用程序中,当用户按下导航栏上的后退按钮时,我希望程序触发一些动作。因此,我一直在使用willMoveToParentViewController
. 但是,当添加或删除 viewController 时会调用该方法。添加viewController时有什么方法可以防止它被调用?如果有其他方法可以检测何时按下导航栏中的后退按钮,请提出建议。
谢谢!
在我的应用程序中,当用户按下导航栏上的后退按钮时,我希望程序触发一些动作。因此,我一直在使用willMoveToParentViewController
. 但是,当添加或删除 viewController 时会调用该方法。添加viewController时有什么方法可以防止它被调用?如果有其他方法可以检测何时按下导航栏中的后退按钮,请提出建议。
谢谢!
用于viewDidDisappear
相同。您可以在此处查看苹果文档。这会在视图控制器的视图从视图层次结构中删除时通知视图控制器。
作为替代方案,您可以检查 parent 是否nil
在willMoveToParentViewController
. 这将nil
是按下后退按钮时。
例如:
override func willMoveToParentViewController(parent: UIViewController?) {
super.willMoveToParentViewController(parent)
if parent == nil {
// view controller being removed (back button)
// could use this area for passing back some variables
// or whatever else you needed to do when back is hit
} else {
// view controller being added, do nothing
}
}