美文网首页
iOS开发中控制器多次push、present之后再回到原控制器

iOS开发中控制器多次push、present之后再回到原控制器

作者: 梁森的简书 | 来源:发表于2018-07-11 15:16 被阅读628次

问题:

从控制器A push到B,再从B present到C,再从C present到D,从D再push到E,最后从E回到A。
如果只是push的形式,那么E直接调用系统方法popToRootViewControllerAnimated即可,可在push的过程中还有几次present的操作,这样的话该怎么实现我们想要的效果呢?

要点:

找到最初的那个进行present的控制器。

找最初进行present控制器的方法:

  UIViewController *presentingVc = self.presentingViewController;
while (presentingVc.presentingViewController) { // 找到最底层那个present的控制器
    presentingVc = presentingVc.presentingViewController;
}
  if(presentingVc){
    // 回到最初present的那个控制器
    [presentingVc dismissViewControllerAnimated:YES completion:nil];

}

找到最初present的这个控制器之后的操作就好做了。
效果图:


1-2.gif

demo地址:***https://gitee.com/liangsenliangsen/back_to_the_original_present.git
本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊

相关文章

网友评论

      本文标题:iOS开发中控制器多次push、present之后再回到原控制器

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