iOS 5选项卡视图已更改推根控制器(storyboard)

时间:2012-02-08 16:36:50

标签: objective-c ios5 storyboard

我有一个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不起作用。任何想法?

1 个答案:

答案 0 :(得分:1)

好的代码看起来应该是这样的。现在它以我想要的方式工作。

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if (tabBarController.selectedIndex == 0)
{
    if ([viewController isKindOfClass:[UINavigationController class]])
        [(UINavigationController*)viewController popToRootViewControllerAnimated:NO];
}
}