在UINavigationController
中,如果由于用户按下后退按钮而导致当前视图控制器被关闭,或者如果使用popViewControllerAnimated
以编程方式关闭了视图控制器,是否可以通过按钮进行操作?
注意:我专门试图区分这两个事件。这是,而不是this question的重复,因为我正在尝试找出调用了哪个事件,而不是在关闭视图控制器时
澄清:
我试图找出视图是否消失,因为
a)按下后退按钮或
b)调用popViewControllerAnimated
最佳答案
在viewWillDisappear方法上,您可以检查isMovingFromParentViewController的值:
self.isMovingFromParentViewController()
这将返回Bool,这是一个布尔值,指示视图控制器正在从其父级中移除。
更新:
正如回答,我认为您将需要使用自己的方法来实现自定义后退按钮,该方法可以对其进行跟踪。
self.navigationItem.leftBarButtonItem = nil;
self.navigationItem.hidesBackButton = true;
let backButton = UIBarButtonItem(title: "< Back", style: UIBarButtonItemStyle.Plain, target: self, action: nil)
backButton.setTitleTextAttributes([NSFontAttributeName: UIFont(name: "Chalkduster", size: 20)!], forState: UIControlState.Normal)
navigationItem.backBarButtonItem = backButton
backButton.addTarget(self, action: "backButtonMethod",forControlEvents:UIControlEvents.TouchUpInside)
关于ios - UINavigationController:确定是否按下了“后退”按钮或popViewControllerAnimated,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34417873/