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/

10-12 00:15
查看更多