如何展开两个视图控制器

时间:2015-01-27 18:29:41

标签: ios objective-c iphone

我有四个视图控制器:

  • VC1
  • 包含childViewController(VC3)的VC2
  • VC4

这是工作流程:

  1. VC1显示(推送)VC2,同时加载VC3。
  2. 一个。可以使用unwind segue返回到VC1,它可以正常工作。
  3. 湾VC3有一些按钮显示(推送)VC4。
  4. VC4有一个可选择的列表。
  5. 我想用选定的行回到VC1,所以我实现了一个从VC4返回到VC2的展开方法,然后,在unwindToVC2方法中,我调用了另一个segue:

    [self performSegueWithIdentifier:@"returnToVC1"];
    

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

    尝试调试问题,应用程序完全返回到VC2,它调用“returnToVC1”segue但没有任何错误,并且它不会抛出任何错误。

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

    有没有办法可以返回两个View Controller发送信息?

    谢谢

1 个答案:

答案 0 :(得分:0)

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

另一个解决方案,不能像第一个那样正常,是在viewDidAppear中执行VC2展开segue,而不是unwind方法。 此修复程序有效,但它显示第二个视图控制器一段时间。

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

谢谢@rdelmar