1

UINavigationController,如果当前视图控制器由于用户按下后退按钮而被解散,或者如果视图控制器正在以编程方式被解除与popViewControllerAnimatedUINavigationController:确定是否按下了后退按钮或popViewControllerAnimated

注:我特别试图区分这两个事件。这是不是this question重复,因为我试图找出哪一个事件被调用,而不是当视图控制器被解雇

澄清: 我想弄清楚的观点是否正在消失,因为

一)按了后退按钮或

b)popViewControllerAnimated被称为

+0

[检测当按下一个导航栏的“返回”按钮]的可能的复制(http://stackoverflow.com/questions/8228411/detecting-when-the-back-button-is-pressed- on-a-navbar) –

+0

嗨。这不是这个问题的重复,因为我试图找出哪个事件被调用,而不是视图控制器被解雇的地方 – Lneuner

+0

@Lneuner viewDidDisappear:和viewWillDisappear是视图消失时调用的方法 – Smile

回答

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) 
+0

Hi Arvind。这个解决方案不适用于我的问题 – Lneuner

+0

,所以你不是在寻找控制器从uinavigationcontroller堆栈中删除(弹出)。 – Arvind

+0

我想弄清楚视图是否正在消失,因为a)后退按钮被按下或b)popViewControllerAnimated被调用 – Lneuner

相关问题