4 つのナビゲーション コントローラーを作成し、それらを UITabBar に追加すると、次のようになります。
// Create the root view controllers for the tab bar
firstViewController = [[FirstViewController alloc] init];
secondViewController = [[SecondViewController alloc] init];
thirdViewController = [[ThirdViewController alloc] init];
fourthViewController = [[FourthViewController alloc] init];
// Configure the tab bar
UITabBarController *tabBarController = [[[UITabBarController alloc] init] autorelease];
tabBarController.viewControllers = @[
[[[UINavigationController alloc] initWithRootViewController:firstViewController] autorelease],
[[[UINavigationController alloc] initWithRootViewController:secondViewController] autorelease],
[[[UINavigationController alloc] initWithRootViewController:thirdViewController] autorelease],
[[[UINavigationController alloc] initWithRootViewController:fourthViewController] autorelease]
];
tabBarController.selectedIndex = 1;
self.window.rootViewController = tabBarController;
起動時に最初に表示される UINavigationController (この場合はインデックス 1) に奇妙な「ポップ」アニメーションが表示されるという問題があります。ナビゲーションバーのタイトルなどはちゃんとアニメーションしますが、ナビゲーションコントローラーの内容はアニメーションなしで変化します。
別のタブを選択してから元のタブに戻ると、問題が修正されます。
また、タブ バーを方程式から除外するように設定self.window.rootViewController
する[[[UINavigationController alloc] initWithRootViewController:secondViewController] autorelease]
と、ナビゲーション コントローラーは問題なく動作します。
何かご意見は?