iOS5以降用のアプリを開発していますが、ストーリーボードやIBは使用していません。私はカスタムUITabBarController
を作成しAppDelegate
ていて、それに1つだけで4つのビューコントローラーを入れて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のドキュメントから取得しました。