模态视图转换之如何从栈顶回到根视图

例如  模态视图转换情况如下:

模态视图转换之如何从栈顶回到根视图_第1张图片

可以在C控制器中需要返回的地方添加如下代码:

UIViewController *rootVC = self.presentingViewController;

while (rootVC.presentingViewController) {

rootVC = rootVC.presentingViewController;

}

[rootVC dismissViewControllerAnimated:YES completion:nil];

原因: 

当A 调用 presentViewController: animated:  方法后跳转到B

如果要从B返回到A, 一般需要在B中写:

[B dismissViewControllerAnimated:YES completion:nil];

然而实际上以上代码是在A中调用的, 当一个控制器调用dismissViewControllerAnimated:方法时, 将会关闭它present的模态视图, 如果该控制器没有present模态视图的时候才会交给他的presentingViewController执行dismissViewController方法

参考资料:http://blog.csdn.net/abc649395594/article/details/46884905

你可能感兴趣的:(模态视图转换之如何从栈顶回到根视图)