美文网首页
dissmissViewController到前几个页面

dissmissViewController到前几个页面

作者: 来敲代码 | 来源:发表于2017-08-09 14:27 被阅读13次

不知道你有没有遇到过这个问题,控制器A presentViewController B 然后B presentViewController C,

现在呢我想在C 控制器里通过dissmissViewController到A

说到这里,再延伸下控制器的两个可能很多人都没注意的两个只读属性:presentedViewController和presentingViewController,他们分别是被present的控制器和正在presenting的控制器。 控制器A和B,[A presentViewController B animated:YES completion:nil]; 那么A相对于B就是presentingViewController,B相对于A是presentedViewController,即这个时候
B.presentingViewController = A;
A.presentedViewController = B;

了解之后就解决一下怎么从C控制器dismiss到A控制器呢!!哦吼吼见证奇迹的时候来了:

    UIViewController *vc =self.presentingViewController;
//    要跳转的界面
    while (![vc isKindOfClass:[HomeViewController class]]) {
        vc = vc.presentingViewController;
    }
    [vc dismissViewControllerAnimated:YES completion:nil];
    [self.navigationController popViewControllerAnimated:YES];

相关文章

网友评论

      本文标题:dissmissViewController到前几个页面

      本文链接:https://www.haomeiwen.com/subject/eabfrxtx.html