在我的测试应用程序中,我在标签栏控制器中嵌入了两个视图控制器(VC1和VC2)。每个视图控制器都有“跳转”按钮,可将我们移至第三个视图控制器(VC3):
在VC1中,我添加了功能
@IBAction func unwindFromVC3(segue: UIStoryboardSegue) {
print("Unwind from VC3")
}
并将VC3的“保存”栏项与VC3的“退出”图标相连。
因此,当我运行我的应用程序并单击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 - 放任自流使我进入错误的 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36598698/