繁体   English   中英

如何展开两个视图控制器

[英]How to unwind two view controllers

我有四个视图控制器:

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

这是工作流程:

  1. VC1显示(推送)VC2,同时加载VC3。
  2. 一种。 可以通过恢复正常运行回到VC1。
  3. VC3有一些按钮显示(按下)VC4。
  4. VC4有一个可选列表。

我想将选定的行返回到VC1,因此我实现了一个unwind方法,以从VC4返回到VC2,然后在unwindToVC2方法中,我调用了另一个命令:

[self performSegueWithIdentifier:@"returnToVC1"];

但是这种说法并没有被调用或者没有奏效。

在尝试调试问题时,该应用程序完全返回VC2,并调用了“ returnToVC1” segue,但未发生任何事情,并且未引发任何错误。

搜索修复程序,我发现在显示的视图消失之前调用了unwind方法。 是问题的原因吗? 因为VC4仍然可见,所以无法撤消VC2?

有什么办法可以让两个View Controller发送信息吗?

谢谢

正如@rdelmar所说,我唯一要做的就是放松对VC1的选择。 我来自Android,但由于VC2位于堆栈中其他VC的中间而无法实现。

另一个解决方案(不如第一个解决方案那么好)是在viewDidAppear中执行VC2展开搜索,而不是展开方法。 此修复程序有效,但显示了第二个视图控制器一段时间。

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

谢谢@rdelmar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM