美文网首页
【转】iOS-OC PresentedViewControlle

【转】iOS-OC PresentedViewControlle

作者: 棒棒德 | 来源:发表于2020-11-17 16:59 被阅读0次

    PresentedViewController 与 PresentingViewController区别(个人理解:presented 有被动的含义,被present出来的VC,presenting-弹出VC的VC)

    假设从A控制器通过present的方式跳转到了B控制器,那么 A.presentedViewController 就是B控制器;B.presentingViewController 就是A控制器。

    使用场景一:presentingViewController

    从A跳转到B,从B跳转到C,从C跳转到D,如何由D直接返回到A呢?可以通过 presentingViewController 一直找到A控制器,然后调用A控制器的 dismissViewControllerAnimated 方法。

    UIViewController*controller=self;

    while(controller.presentingViewController)

    {

    controller=controller.presentingViewController;

    }

    [controller dismissViewControllerAnimated:YES completion:nil];

    使用场景二:PresentedViewController

    在当前ViewController连续调用[self presentViewController:vc animated:YES completion:^{}];,连续跳转(遇到了连续两次present,第二次present 不生效的问题)

    UIViewController*topRootViewController=self.window.rootViewController;// 在这里加一个这个样式的循环while(topRootViewController.presentedViewController){// 这里固定写法topRootViewController=topRootViewController.presentedViewController;}CTNavigationController*naVc=[[CTNavigationController alloc]initWithRootViewController:receiveOrderVC];// 然后再进行present操作[topRootViewController presentViewController:naVc animated:YES completion:nil];

    相关文章

      网友评论

          本文标题:【转】iOS-OC PresentedViewControlle

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