首页 文章

如何展开两个视图控制器

提问于
浏览
0

我有四个视图控制器:

  • VC1

  • 包含childViewController(VC3)的VC2

  • VC4

这是工作流程:

  • VC1显示(推送)VC2,同时加载VC3 .

  • a . 可以使用unwind segue返回到VC1,它可以正常工作 .

  • b . VC3有一些显示(推送)VC4的按钮 .

  • VC4有一个可选择的列表 .

我想回到选定的行到VC1,所以我实现了一个从VC4返回到VC2的展开方法,然后,在unwindToVC2方法中,我调用另一个segue:

[self performSegueWithIdentifier:@"returnToVC1"];

但是这个segue没有被调用或者它没有工作 .

试图调试问题,应用程序完美地回到VC2,它调用“returnToVC1”segue但没有任何ocurrs,它不会抛出任何错误 .

在搜索修复程序时,我发现在呈现的视图消失之前调用了unwind方法 . 这是问题的原因吗?是不是可以展开VC2,因为VC4仍然可见?

有没有办法找回两个View Controller发送信息?

谢谢

1 回答

  • 0

    正如@rdelmar所说,我唯一需要做的就是放松到VC1 . 我来自Android和我,虽然这是不可能的,因为VC2在堆栈中的其他VC中间 .

    另一个解决方案,不像第一个那样精确,是在viewDidAppear中执行VC2展开segue,而不是unwind方法 . 此修复工作但它显示第二个视图控制器一段时间 .

    问题的原因是当执行它的ViewController不可见时,无法调用performSegue .

    谢谢@rdelmar

相关问题