UITabbarController + UINavigationController为push和pop创建问题

时间:2013-05-10 10:40:07

标签: iphone uinavigationcontroller uitabbarcontroller xcode4.5

在我的iPhone应用程序中,我使用UITabbarController中创建的UINavigationController + appDelegate

我的问题如下:

在屏幕上 - 我有tableview。当我选择单元格时,我将控制器推到屏幕-B。现在,如果我从tabbar中选择另一个选项卡,则不会弹出它,然后视图会刷新,但导航栏不会刷新。它显示屏幕-Bscreen-B的导航栏。

在代码下面使用但似乎没有解决我的问题:

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

1 个答案:

答案 0 :(得分:1)

在appdelegate中尝试这个

UINavigationController *screen1=[[UINavigationController alloc] initWithRootViewController:controller1];

UINavigationController *Bscreen=[[UINavigationController alloc] initWithRootViewController:controller2];

NSArray *tabbararray=[[NSArray alloc] initWithObjects: screen1,Bscreen,nil];


self.TabControllerObj.viewControllers=allviewcontrollers;

并将tabbar设为窗口的根视图控件