如何查找UIViewController何时从堆栈中弹出Swift 3

时间:2017-03-14 02:17:31

标签: swift uiviewcontroller unwind-segue

在UINavigationController上我有两个视图控制器1和2.有一个从1到2的Show segue和一个程序展开segue(控制+从场景的视图控制器图标拖动到它的退出图标)从2到1.

我怎么知道2即将弹出UINavigationController堆栈?

当另一个视图被推送到UINavigationController堆栈时,也会调用

viewWillDisappear,因此它不是解决方案。我已经看到answer on SO建议创建后退按钮而不是使用默认后退按钮,但我想知道是否有可用于查找UIViewController从堆栈弹出的系统方法?

1 个答案:

答案 0 :(得分:4)

我想我可能已经找到答案viewWillDisappear应与isMovingFromParentViewController一起使用。如果这种方法容易出错,请随时纠正我。

override func viewWillDisappear(_ animated : Bool) {
    super.viewWillDisappear(animated)

   if self.isMovingFromParentViewController{
        self.performSegue(withIdentifier: "fromEighthToFourth", sender: self)
   }
 }