0

我想通过使用此代码单击第四个选项卡栏上的按钮导航到第一个选项卡栏项目的 Rootview 只是更改选项卡栏选择

代码片段

[self.parentViewController.tabBarController setSelectedIndex:0];

上一个动作将出现在主视图控制器中。

我需要主页视图控制器的直接导航

如何解决这个问题?

提前致谢

4

2 回答 2

1

首先获取第一个标签栏项目的 UINavigationController。

UINavigationController *navController = [self.tabBarController.viewControllers objectAtIndex:0];

然后导航到根视图控制器。

navController popToRootViewControllerAnimated:NO];

就这样。:)

于 2013-03-12T09:30:47.940 回答
0

您必须将选定的标签栏导航堆栈弹出到根目录。您可以通过以下几种方法实现此目的..

在您的 AppDelegate 中实现 tabbarcontroller 委托功能,确保您已将 tabbarcontroller 委托设置为 AppDelegate..

-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
 //Check the selected index to 0
 if ([viewController isKindOfClass:[UINavigationController class]] && tabBarController.selectedIndex == 0) { 
    [(UINavigationController *)viewController popToRootViewControllerAnimated:NO]; 
 }
}
于 2013-03-12T09:33:22.600 回答