Unwind segue - 当多个视图调用它时返回调用视图

Unwind segue - go back to calling view when multiple views call it

我有一个视图控制器(在导航控制器中)A 转到视图控制器 B,视图控制器 C 也转到 B(A -> B <- C)。视图控制器 B 用于 select 传递回 A 或 C 的值,但如果我单击 'Cancel' 或 'Done',它会使用 unwind segue 返回到仅一个控制器, 以最后连接的为准。

您可以对 viewController 启动转场的任何一个展开转场 return。您所要做的就是在所有 viewController 中实现与 returning 相同的方法,这些 viewController 会转至 viewController B.

所以在viewControllerA和viewControllerC中,实现如下方法:

@IBAction func backFromB(segue: UIStoryboardSegue) {
    print("Back from B")
}

然后,当您 Control 从 viewController B 中的 Cancel 按钮拖动到 弹出viewController、select、backFromB顶部的退出图标。



然后当您 运行 应用程序并在 viewController B 中点击 取消 时,您将 return 到 viewController A 或 viewController C(以 B 为准)。如果一个 segue 是 Show (Push) 而另一个是 Modal.