第一个,返回指定页面
[self.navigationController popToViewController:[[AuthenticationCodeVC alloc]init]animated:YES];
还有一种,
UINavigationController *navVC =self.navigationController;
NSMutableArray *viewControllers = [[NSMutableArray alloc]init];
for (UIViewController *vc in [navVC viewControllers]) {
[viewControllers addObject:vc];
if ([vc isKindOfClass:[RepairFourSVC class]]) {
break;
}
}
[navVC setViewControllers:viewControllers animated:YES];
第二个,返回到跟试图
[self.navigationController popToRootViewControllerAnimated:YES];
应用场景,
返回首页
第三个,一次性pop出几个页面
int index = (int)[[self.navigationController viewControllers]indexOfObject:self];
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:(index -2)]animated:YES];
index-2不要随便写,作完的差值,不能不在
self.navigationController.viewControllers
这个数组的范围外,否则会出现数组越界,导致程序闪退。
应用场景,
当我们点击登录,我们push到登录,获取验证码以后,再跳到下一个页面输入验证码,登录成功后我们要返回到,未登录之前的页面,我们用pop只能返回的上一页,我么用 popToViewController: 返回指定页面,但是我们不清楚返回的是哪一页,但是我们知道,应该返回几页就可以了。