0
我能夠知道哪個segue剛被執行/彈出嗎?知道最近執行/彈出segue?
例如我有2個控制器:
- 視圖控制器A:具有1個按鈕導航到查看B.
- 視圖控制器B:有後退按鈕查看A.
我想在視圖中A可以檢測到視圖B剛剛從堆棧彈出,所以我可以在ViewWillAppear
中做一些事情。
我可以做到嗎?
我能夠知道哪個segue剛被執行/彈出嗎?知道最近執行/彈出segue?
例如我有2個控制器:
- 視圖控制器A:具有1個按鈕導航到查看B.
- 視圖控制器B:有後退按鈕查看A.
我想在視圖中A可以檢測到視圖B剛剛從堆棧彈出,所以我可以在ViewWillAppear
中做一些事情。
我可以做到嗎?
您可以命名該segue,然後執行prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
方法,其中您檢查標識符是否爲segue。如果是從ControllerA到ControllerB的繼續,只需設置一些標誌,您將在viewWillAppear
方法中檢查。
事情是這樣的:
var pushedB = false
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "mySegueName" {
pushedB = true
}
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
if pushedB {
pushedB = false
// TODO your action
}
}
是的,但有什麼辦法?看來我找不到需要從segue返回的委託方法。 – Rendy
沒有什麼像「從賽格返回」。 Segue對象只是封裝了從一個控制器轉換到另一個控制器的操作。在顯示segue它基本上需要兩個控制器,並決定是否會presentModal或推... –
http://stackoverflow.com/questions/12380905/ios-how-to-detect-programmatically-when-top-view -controller-是彈起 – ZHZ