首页 文章

放松segue将我移动到错误的视图控制器

提问于
浏览
0

在我的测试应用程序中,我有两个嵌入在标签栏控制器中的视图控制器(VC1和VC2) . 每个视图控制器都有“跳转”按钮,它将我们移动到第三个视图控制器(VC3):

my storyboard

在VC1中我添加了功能

@IBAction func unwindFromVC3(segue: UIStoryboardSegue) {
    print("Unwind from VC3")
}

并连接VC3的“保存”栏项目和VC3的“退出”图标 .

因此,当我运行我的应用程序并单击VC1的“跳转”按钮时,我移动到了VC3,当我点击“保存”时,我又回到了VC1 . 没关系 .

如果我移动到VC2栏并从那里单击“跳转”,我再次移动到VC3 . 但如果我从那里点击“保存”,我又回到了VC1(而不是VC3) .

我预计那里没有任何事情发生(因为我在VC2中没有任何“展开”功能) . 那么为什么我被转移到VC1?是否可以为我的“保存”项创建两个展开操作?

1 回答

  • 1

    如果要从VC3中退回到VC2,只需将 unwindFromVC3 添加到VC2:

    @IBAction func unwindFromVC3(segue: UIStoryboardSegue) {
        print("Unwind from VC3")
    }
    

    然后展开segue将展开到正确的ViewController(一个隐藏到VC3的那个) .

    您只需设置一次展开segue,只要转换到VC3的所有ViewControllers实现 unwindFromVC3 ,保存将返回到原始ViewController .

相关问题