2012-01-19 70 views
1

我有了在IB創建UITabBarController的應用程序。其做工精細到現在這TBC負荷3次。的UINavigationController推動的UITabBarController只顯示一個標籤

我決定插入一個UINavController作爲起始的VC,並且有一個UITableViewController在單元中顯示4個菜單項。每個4項將在本質上加載UITabBarController放通以不同的XML文件,以顯示在這些3個標籤數據來處理。

我基本上這樣做在applicationDidFinishLoading的末尾:

MainMenu *rootViewController = [[MainMenu alloc] init]; 
navController = [[UINavigationController alloc] initWithRootViewController:rootViewController]; 
self.window.rootViewController = navController; 
[window makeKeyAndVisible]; 
return YES; 

我然後創建的MainMenu作爲rootViewController子類UITableViewController並添加了硬編碼陣列現在它顯示4項我想要的。我有didSelectRowAtIndexPath運行這段代碼:

tabBarController = [[UITabBarController alloc] init]; 
[self.navigationController pushViewController:tabBarController animated:YES]; 
[tabBarController release]; 

原來,當我運行它時,navcontroller推動標籤控制器,但只有第一個選項卡顯示出來。這是一張照片。

enter image description here

回答

10

你不應該從UINavigationControllerUITabBarController。蘋果明確表示這一點:

使用一個標籤欄控制器還可以在一個或多個選項卡使用導航控制器的應用程序。當在相同的用戶界面結合這兩種類型的視圖控制器,標籤欄控制器總是充當包裝爲導航controllers.`

這基本上意味着標籤欄應該是所有其他視圖控制器的父被調用。不是相反的。你應該改變你呈現應用的方式。

更多信息here

+1

那麼糟糕... – Ziggy

+0

檢查蘋果新應用程序,他們似乎推UITabBarController到UINavigationController – msk

+1

你能夠更新鏈接?顯然它不再有效。 –

相關問題