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