通过导航控制器向下钻取时,标签栏消失

时间:2012-07-09 19:37:19

标签: iphone xcode uinavigationcontroller uitabbarcontroller storyboard

我使用故事板设置了一个应用程序,该应用程序将标签栏控制器用作导航控制器中的屏幕。我可以很好地导航到它,但是当我开始向下钻取其中一个选项卡中的屏幕时,标签栏会消失。如果我导航回第一个屏幕,标签栏应该打开,标签栏将重新出现,但我更喜欢它是否在子屏幕上可见。这是可能的还是两个视图控制器不能很好地协同工作?

2 个答案:

答案 0 :(得分:0)

标签栏控制器始终需要是根视图控制器。你不能把它放在导航控制器中。

即使有可能,也不会是良好的用户互动。你究竟想做什么(功能性)?

我认为你想要的是将导航控制器作为标签栏控制器内的第一个标签。 (而不是像你描述的那样)

答案 1 :(得分:0)

                    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
                    {

        MenuViewController * menuViewController=[[[MenuViewController alloc] initWithNibName:@"MenuViewController_iPhone" bundle:nil] autorelease];

menuViewController.hidesBottomBarWhenPushed=YES;
        //menuViewController You can have your option here 


                     UINavigationController * navigationController;
                     UINavigationController * navigationController2;
                     UINavigationController * navigationController3;

                    viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil] autorelease];



                            viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil] autorelease];


     navigationController=[[UINavigationController alloc] initWithRootViewController:viewController1];

            navigationController2=[[UINavigationController alloc] initWithRootViewController:viewController2];

            navigationController3=[[UINavigationController alloc] initWithRootViewController:menuViewController];



               UITabBarController   * tabBarController = [[[UITabBarController alloc] init] autorelease];
                        self.tabBarController.viewControllers = [NSArray arrayWithObjects:menuViewController,navigationControllerFirst, viewController2, nil];


                        //self.tabBarController.tabBar.tintColor=[UIColor orangeColor];
                        self.window.rootViewController = self.tabBarController;


                        [self.window makeKeyAndVisible];

                return true;
                }