我正在为 iOS5 及更高版本开发应用程序,我不使用情节提要或 IB。我正在创建一个自定义UITabBarController
,并在AppDelegate
其中放入了 4 个视图控制器,其中只有 1 个UINavigationController
(不知道为什么)。
它导致我只能从第一个选项卡推送新 VC 的行为,这显然是打包到UINavigationController
被调用的navController
:
SGTabBarController *tabBarController = [[SGTabBarController alloc] init];
SGHomeViewController* vc1 = [[SGHomeViewController alloc] init];
SGChooseOSAgainViewController* vc3 = [[SGChooseOSAgainViewController alloc] init];
SGSmsServicesViewController* vc4 = [[SGSmsServicesViewController alloc] init];
SGSupportViewController *vc5 = [[SGSupportViewController alloc] init];
navController = [[UINavigationController alloc] initWithRootViewController:vc1];
NSArray* controllers = [NSArray arrayWithObjects:navController, vc3, vc4, vc5, nil];
tabBarController.viewControllers = controllers;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = tabBarController;
[navController setNavigationBarHidden:YES animated:NO];
[self.window makeKeyAndVisible];
这是为什么?我应该UINavigationController
为每个选项卡创建一个单独的选项卡吗?我从 Apple 的文档中获取了这段代码。