【发布时间】:2014-03-04 09:03:55
【问题描述】:
我有一个 LoginViewController,它是 RootViewController。这个 ViewController 不应该包含 TabBar。 ViewController 的其余部分应该包含 UITabBar,但它没有显示。如果我将 tabBar 设为 rootController,它将在 viewcontrollers 中显示 tabBar。这也会使 firsttab 成为它不应该的 rootviewcontroller。
我的问题是,我怎样才能在没有 tabBar 的情况下使 loginview 成为 rootViewController 并且仍然在其他 viewcontrollers 中显示 tabBar?
我的代码:
tabBarController = [[UITabBarController alloc] init];
MenuViewController *firstTab = [[MenuViewController alloc] initWithNibName:@"MenuViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:firstTab];
FixtureViewController *secondTab = [[FixtureViewController alloc] initWithNibName:@"FixtureViewController" bundle:nil];
UINavigationController *navController2 = [[UINavigationController alloc] initWithRootViewController:secondTab];
WorldCupViewController *thirdTab = [[WorldCupViewController alloc] initWithNibName:@"WorldCupViewController" bundle:nil];
UINavigationController *navController3 = [[UINavigationController alloc] initWithRootViewController:thirdTab];
LoginViewController *loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
UINavigationController *navController4 = [[UINavigationController alloc] initWithRootViewController:loginView];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[navController, navController2, navController3];
navController.tabBarItem.image = [UIImage imageNamed:@"message-7"];
navController2.tabBarItem.image = [UIImage imageNamed:@"football-32"];
navController3.tabBarItem.image = [UIImage imageNamed:@"trophy-32"];
[[UITabBar appearance] setTintColor:[UIColor colorWithRed:110/255.0f green:89/255.0f blue:196/255.0f alpha:1.0f]];
[self.window setRootViewController:navController4];
[self.window makeKeyAndVisible];
【问题讨论】:
-
用户登录后是否显示 TabBar?
-
是的,当用户登录时,它将推送到第一个选项卡(MenuViewController)。这个 MenuViewController 不会显示我在 appdelegate 中创建的 uitabbar
标签: ios iphone objective-c