self.navigationController退出到指定页面,或者一次性pop出n个页面

self.navigationController退出到指定页面,或者一次性pop出n个页面

https://blog.csdn.net/ws1352864983/article/details/52964889ios

ios中 viewcontroller的跳转问题,其中有一种方式是采用navigationController pushViewController 的方法,可能会从主页面跳转到了一级页面,又从一级页面跳转到了二级页面,而后从二级页面跳转到了三级页面,依次类推。,等等。spa

  • 若是一级一级的返回直接调用就行
[self.navigationController popViewControllerAnimated:Yes];
  • 1

不少状况下可能想要立刻回到主页面,而不是一级一级的返回,或者直接返回pop出N个界面..net

  • 返回根页面用 :
[self.navigationController popToRootViewController]
  •  
  • 返回指定的某级Nvc用下面code

    • 第N级
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:N] animated:YES];
  • 1

或指定控制器blog

//遍历控制器
for (UIViewController *controller in self.navigationController.viewControllers) {
    if ([controller isKindOfClass:[你要跳转到的Controller class]]) {
        [self.navigationController popToViewController:controller animated:YES];
    }
}
  •  
  • 一次性pop到上上一级
int index = (int)[[self.navigationController viewControllers]indexOfObject:self];

    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:(index -2)] animated:YES];
相关文章
相关标签/搜索