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];
        }
    }
posted @ 2017-01-21 11:22  琼极一生  阅读(248)  评论(0编辑  收藏  举报