第一种:连续push后,返回
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];
// 或(通过class定位)
for (UIViewController *controller in self.navigationController.viewControllers) {
if ([controller isKindOfClass:[你要跳转到的Controller class]]) {
[self.navigationController popToViewController:controller animated:YES];
}
}
第二种:连续present后,返回
UIViewController *vc =self.presentingViewController;
if ( !vc.presentingViewController ) return;
//循环获取present出来本视图控制器的视图控制器(简单一点理解就是上级视图控制器),一直到最底层,然后在dismiss,那么就ok了!
while (vc.presentingViewController)
{
vc = vc.presentingViewController;
}
NSString*name = [[NSString alloc]init];
name = [NSString stringWithFormat:@"%s",NSStringFromClass(vc.class).UTF8String];
NSLog(@"----%@---",name);
[vc dismissViewControllerAnimated:YES completion:^{
}];