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