iOSpush过后返回多级界面

有导航控制器push过后pop可以反回上一个界面,然而我们需要返回多级界面有下面两种方法

调用API 

- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;   

1.通过取得在导航控制器里面的控制器的下标 来返回

 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES];
 
//或者

 [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:([self.navigationController.viewControllers count] -i)] animated:YES];  (i 返回级数);

2.遍历导航控制器里面的控制器找到想要返回的那一个 

 for (UIViewController *controller in self.navigationController.viewControllers) {
        if ([controller isKindOfClass:[UserInfoControl class]]) {
            [self.navigationController popToViewController:controller animated:YES];
        }
    }
原文地址:https://www.cnblogs.com/LynnAIQ/p/6336688.html