很多情况下我们都需要跳转页面,最常见的跳转方式就是:
[self.navigationController popToViewController:VC animated:YES];
[self.navigationController pushViewController:VC animated:YES];
上面这两种是通过建立新的控制器再进行跳转.
返回页面最常见的两种就是返回上一层和返回根视图控制器
[self.navigationController popViewControllerAnimated:YES]; [self.navigationController popToRootViewControllerAnimated:YES];
如果自己创建了五个控制器了,然后自己想跳转到第三个控制器去,上面的方法就不行了。在这里跟大家分享一个可以在不销毁前面控制器的情况下跳转的方法.
NewViewController * NewVC = nil;//要跳转的控制器
for (UIViewController * VC in self.navigationController.viewControllers) {
if ([VC isKindOfClass:[NewViewController class]]) {
[self.navigationController popToViewController:newVC animated:YES];
return;
}
}
还有一种方法(一句话搞定!)
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES];