我有2 UIViewController
个UINavigationController
从第二个UIViewController
开始,当用户点按后退按钮时,我想在第一个UIViewController
中显示一条消息。
有没有办法捕捉这个事件,然后在UIViewController
?
答案 0 :(得分:2)
正确的方法是使用展开segue,这也是您在第二个viewController被销毁之前从第二个viewController获取数据的机会。在ViewController1中添加:
@IBAction func prepareForUnwind(_ segue: UIStoryboardSegue) {
if let source = segue.source as? SecondViewController {
//grab any data you need here and set your message up
}
}
在你的故事板中,按住ctrl +从黄色视图控制器拖动到橙色出口以创建unwindSegue并将其链接到prepareForUnwind(这些图标都位于视图控制器的顶部和左侧的大纲视图中)。给你的segue一个标识符,如“unwindSecondViewController”。
在SecondViewController中。在viewWillDisappear中或手动关闭视图时添加:
performSegue(withIdentifier: "unwindSecondViewController", sender: self)