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

问题:

从控制器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
本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊

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

推荐阅读更多精彩内容

  • 在屏幕上显示视图控制器有两种方法:嵌入到容器视图控制器中或者present这个视图控制器。容器视图控制器提供应用的...
    栗子烤肉阅读 4,218评论 1 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • 1. 下列叙述错误的是()。 (2.0 分) A. 质量管理包括QA和QC一切活动的全部过程 B. 影像质量是指对...
    我们村我最帅阅读 4,118评论 0 8
  • 和弦是由三个及三个以上的音三度叠置组成的,常用的有三音组成的三和弦和四音组成的七和弦。三和弦有大三和弦、...
    Mars410阅读 575评论 0 0
  • 有一天喝醉了酒,胡乱七八糟的说话,牵着电杆的手,就像牵了一条狗,而且,我看见狗狗的泪滴在尘埃里开出曼陀罗花。 人到...
    赛腾烟阅读 327评论 0 8