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];
相關文章
相關標籤/搜索