展开段将我移动到错误的视图控制器 [英] Unwind segue moves me to wrong view controller

查看:13
本文介绍了展开段将我移动到错误的视图控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的测试应用程序中,我在选项卡栏控制器中嵌入了两个视图控制器(VC1和VC2)。每个视图控制器都有"Jump"按钮,可以将我们移动到第三个视图控制器(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")
}

然后,展开段将展开到正确的视图控制器(连接到VC3的那个)。

您只需设置一次展开段,只要转换到VC3的所有ViewController都执行unwindFromVC3,保存就会返回到原始的ViewController。

这篇关于展开段将我移动到错误的视图控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆