在我的测试应用程序中,我在选项卡栏 Controller 中嵌入了两个 View Controller (VC1 和 VC2)。每个 View Controller 都有“跳转”按钮,将我们移动到第三个 View Controller (VC3):
在VC1中我添加了函数
@IBAction func unwindFromVC3(segue: UIStoryboardSegue) {
print("Unwind from VC3")
}
并将VC3的“Save”栏项与VC3的“Exit”图标连接起来。
因此,当我运行我的应用程序并单击 VC1 的“跳转”按钮时,我转到了 VC3,当我单击“保存”时,我又回到了 VC1。没关系。
如果我移动到 VC2 栏并从那里单击“跳转”,我将再次移动到 VC3。但是如果我从那里点击“保存”,我又回到了 VC1(不是 VC3)。
我预计那里什么也不会发生(因为我在 VC2 中没有任何“展开”功能)。那么为什么我被转移到 VC1?是否可以为我的“保存”项创建两个展开操作?
最佳答案
如果您想从 VC3 回退到 VC2,只需将 unwindFromVC3
也添加到 VC2:
@IBAction func unwindFromVC3(segue: UIStoryboardSegue) {
print("Unwind from VC3")
}
然后展开转场将展开到正确的 ViewController(转场到 VC3 的那个)。
您只需设置一次展开转场,只要所有过渡到 VC3 的 ViewController 都实现 unwindFromVC3
,保存将返回到原始 ViewController。
关于ios - Unwind Segue 将我移至错误的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36598698/