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

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

可以在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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容