问题:
从控制器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的这个控制器之后的操作就好做了。
效果图:
demo地址:***https://gitee.com/liangsenliangsen/back_to_the_original_present.git
本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。😊