在UINavigationController
中,如果当前视图控制器因用户按下后退按钮而被解除,或者视图控制器是否以popViewControllerAnimated
编程方式被解除,是否有按钮的方法? / p>
注意:我特意尝试区分这两个事件。这是不是this question的重复,因为我试图弄清楚哪个事件被调用,而不是在视图控制器被解除时
澄清: 我试图弄清楚视图是否正在消失,因为
a)按下后退按钮或
b)调用popViewControllerAnimated
答案 0 :(得分:1)
在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)