我有一个uitabbarcontroller,有3个项目。每个项目都有自己的导航控制器。 例如,在选项卡1中,用户导航到其他子视图,然后更改为选项卡2,然后返回选项卡1.选项卡一显示子视图。我怎样才能推根视图控制器而不是子视图? 我的uitabbarcontroller是自定义的,有:
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
是否适合做一些pushrootviewcontroller? 如何获得控制器?
我实施了以下
UITabBarController<UITabBarControllerDelegate, UITabBarDelegate>
和
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if (tabBarController.selectedIndex == 0)
{
NSLog(@"test%@",@"test");
[self.tabBarController.selectedViewController.navigationController popToRootViewControllerAnimated:NO];
}
}
nslog输出可以在调试器中看到,但popto root不起作用。任何想法?
答案 0 :(得分:1)
好的代码看起来应该是这样的。现在它以我想要的方式工作。
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if (tabBarController.selectedIndex == 0)
{
if ([viewController isKindOfClass:[UINavigationController class]])
[(UINavigationController*)viewController popToRootViewControllerAnimated:NO];
}
}