在开发中经常会有多级跳转 viewcontroller的问题,然后有时不一定要一级一级的返回,可能直接返回到某个根视图控制器或某个指定的控制器.
其中采用navigationController pushViewController 的方法,比如我从主页面跳转到了4级页面,又从4级页面跳转到了2级页面,然后从2级页面跳转到了4级页面然后在重4级界面跳转到3、2、1,依次类推。,如果一级一级的返回我知道是没有问题的,绕了一大圈回到主界面,调用navigationController popViewControllerAnimated就行了。。但是某些情况下我可能想要马上回到主页面,而不是一级一级的返回
.通过class 定位到指定控制器
NSLog(@"controller个数%lu",self.navigationController.viewControllers.count); NSLog(@"%@",self.navigationController.viewControllers); for(UIViewController *temp in self.navigationController.viewControllers) { if([temp isKindOfClass:[SendServersListViewController class]]) { [self.navigationController popToViewController:temp animated:YES]; } }
本人亲测完美解决;