我的项目具有以下结构: 标签栏 - >导航栏 - >控制器1 - >控制器2 - >控制器3。
除最后一个之外的所有segues都是push segues,而最后一个是模式segue。
提交请求后,我试图解除模态请求,然后弹出到Controller 1.
我尝试过以下一些变种而没有任何运气。我的猜测是'presentsViewController'已经为空了。
[self dismissViewControllerAnimated:NO completion:^
{
[self.presentingViewController.navigationController popToRootViewControllerAnimated:YES];
}];
我是如何实现这一目标的?
谢谢!
答案 0 :(得分:1)
视图控制器不应解雇自己。来自View Controller Programming Guide for iOS:
“当需要关闭一个呈现的视图控制器时,首选方法是让呈现视图控制器忽略它。”
模态视图控制器应该将呈现视图控制器作为其委托。通过这种方式,它可以通知呈现视图控制器它已准备好被解雇。呈现视图控制器将关闭模态视图控制器,然后它可以popToRootViewController
。