6

我的应用程序中有 10 个视图控制器。我已经使用 NavigationController 的 pushViewController 方法推送了所有这些 viewController,点击了每个 viewController 的 NEXT 按钮。

我已将代码用作;

[self.navigationController pushViewController:someView animated:YES];

现在我想从第 10 个孩子(viewController)跳回 rootViewController。

我怎样才能做到这一点 ?

请帮我..

谢谢。

4

7 回答 7

17

尝试使用..

[self.navigationController popToRootViewControllerAnimated:YES];
于 2012-06-28T06:36:16.803 回答
11

使用此代码:

 [self.navigationController popToRootViewControllerAnimated:YES];
于 2012-06-28T06:20:11.920 回答
10

试试这个

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:NO];//Use the desired index instead of 1 here

回到最后一个屏幕使用这个

[self.navigationController popViewControllerAnimated:YES]
于 2012-06-28T06:31:52.567 回答
1

您可以 [self.navigationController popViewControllerAnimated:YES] 用于特定视图..

于 2012-06-28T06:19:38.227 回答
1
 NSInteger index = 0;
 for (UIViewController *view in self.navigationController.viewControllers) {
 if([view.nibName isEqualToString:@"RootViewController"])//put any `XIB name` where u want to navigate 
    break;
index = index + 1;
 }
 [[self navigationController] popToViewController:[[self.navigationController viewControllers] objectAtIndex:index] animated:YES]; 
于 2012-06-28T06:22:35.153 回答
1

要返回上一个屏幕(视图控制器堆栈的最后一个元素),请弹出视图控制器:

[self.navigationController popViewControllerAnimated:YES];
于 2012-06-28T06:24:51.527 回答
-1

斯威夫特 4

self.navigationController?.popToRootViewController(animated: true)
于 2018-06-28T12:49:22.983 回答