在我的测试应用程序中,我在标签栏控制器中嵌入了两个视图控制器(VC1和VC2)。每个视图控制器都有“跳转”按钮,它将我们移动到第三个视图控制器(VC3):
在VC1中我添加了功能
@IBAction func unwindFromVC3(segue: UIStoryboardSegue) {
print("Unwind from VC3")
}
并连接VC3的“保存”栏项目和VC3的“退出”图标。
因此,当我运行我的应用程序并点击VC1的“跳转”按钮时,我移动到了VC3,当我点击“保存”时,我又回到了VC1。没关系。
如果我移动到VC2栏并从那里点击“跳转”,我再次移动到VC3。但如果我从那里点击“保存”,我又回到了VC1(而不是VC3)。
我预计没有任何事情发生(因为我在VC2中没有任何“展开”功能)。那么为什么我被转移到VC1?是否可以为我的“保存”项创建两个展开动作?
答案 0 :(得分:1)
如果您想从VC3中退回到VC2,只需将unwindFromVC3
添加到VC2:
@IBAction func unwindFromVC3(segue: UIStoryboardSegue) {
print("Unwind from VC3")
}
然后unwind segue将展开到正确的ViewController(一个隐藏到VC3的那个)。
您只需设置一次展开segue,只要转换到VC3的所有ViewControllers都实现unwindFromVC3
,保存就会返回到原始的ViewController。