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

相關問題