我正在使用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;
答案 0 :(得分:2)
在UITabBarController中,你不要弹出和推送,如果你想转到第二个视图,你将设置所选的索引
喜欢这样
yourTabController.selectedIndex = 1;
或者,如果当前视图控制器是tabBarController的一部分
self.tabBarController.selectedIndex = 1;