0

我正在使用 popToViewController 方法弹出到视图控制器。我试图实现的是弹出到 UITabBarController 的特定索引。

NSArray *viewArrays = [self.navigationController viewControllers];

所以我的视图层次结构是;

<LoginViewController: 0x6b75850>,
<UITabBarController: 0x6ba0b50>,
<RequestViewController: 0x684fe90>,
<ApplyViewController: 0x6845790>

以下代码确实会弹出到我的 UITabBarController,但由于我在我的 UITabBarController 的第三个视图上,它会弹回第三个视图

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

我想要的是弹出到我的 UITabBarController 的第二个视图。

编辑(答案)

如前所述,我们不推送或弹出。因此,为了收集您的 tabBarController,您可以使用;

UITabBarController *myTabController = [self.navigationController.viewControllers objectAtIndex:indexOfYourTabBarControllerInYourNavigationController];
myTabController.selectedIndex = indexToGo;

或者如果你在你的 tabBarController 视图之一;

self.tabBarController.selectedIndex = indexToGo;
4

1 回答 1

2

在 UITabBarController 中,您不会弹出和推送,如果您想转到第二个视图,则可以设置选定的索引

像这样

yourTabController.selectedIndex = 1;

或者如果当前视图控制器是 tabBarController 的一部分

self.tabBarController.selectedIndex = 1;
于 2012-06-24T13:07:38.017 回答