如何解除模态segue然后弹出到根控制器

时间:2014-02-05 05:42:16

标签: ios7 modal-dialog segue navbar

我的项目具有以下结构: 标签栏 - >导航栏 - >控制器1 - >控制器2 - >控制器3。

除最后一个之外的所有segues都是push segues,而最后一个是模式segue。

提交请求后,我试图解除模态请求,然后弹出到Controller 1.

我尝试过以下一些变种而没有任何运气。我的猜测是'presentsViewController'已经为空了。

[self dismissViewControllerAnimated:NO completion:^
{ 
   [self.presentingViewController.navigationController popToRootViewControllerAnimated:YES];
}];

我是如何实现这一目标的?

谢谢!

1 个答案:

答案 0 :(得分:1)

视图控制器不应解雇自己。来自View Controller Programming Guide for iOS: “当需要关闭一个呈现的视图控制器时,首选方法是让呈现视图控制器忽略它。”
模态视图控制器应该将呈现视图控制器作为其委托。通过这种方式,它可以通知呈现视图控制器它已准备好被解雇。呈现视图控制器将关闭模态视图控制器,然后它可以popToRootViewController