2012-04-11 97 views
1

我做了一個非常簡單的基於導航的應用程序(UIViewController)。該視圖在主RootViewController上有一個按鈕。切換意見 - UIViewController到UITabBarController

接下來,我做了2個類:TabOneViewController,TabTwoViewController。都好。然後我創建了一個新的類TabBarViewController。我打開了NIB文件並將其放在一個「UITabBarController」上。它默認創建的兩個選項卡分別分配給我的TabOne和TabTwo視圖控制器。 strong text 然後在我的TabBarViewController中,我爲UITabBarController製作了一個IBOutlet,將它合成了等。我通過「文件所有者」在Interface Builder中將它鏈接起來。

在RootViewController的,我鏈接按鈕,我的「pushView」的方法,並且在該pushView方法,我有以下代碼:

- (IBAction) pushView { 
    TabBarViewController *controller = [[TabBarViewController alloc] init]; 
    [self.navigationController pushViewController:controller animated:YES]; 
    [controller release]; 
} 

最終的結果是它並推的視圖,但我無法看到底部的標籤欄,更不用說我添加到控制器的任何頁面了。

我在做什麼錯?爲什麼我不能在IB中鏈接它?

回答

0

我不是100%確定是否允許..因爲您已經有一個tabBarController作爲rootViewController,並且您還丟棄了一個tabBarController作爲第一個選項卡控制器,選項卡會重疊,考慮您在iPhone上擁有的房地產數量,它是有意義的不允許內的另一個

0

首先一個tabViewController,你需要與你的筆尖分配您的視圖控制器:

TabBarViewController *controller = [[TabBarViewController alloc] initWithNibName:@"YourNibName" bundle:nil]; 

其次,在IB,點擊的UITabBarController並轉到身份檢查,使確定你選擇你的自定義類。也就是說,除非您重寫或添加一些功能,否則根本不需要定製類,只需直接使用UITabBarController:

UITabBarController *controller = [[UITabBarController alloc] initWithNibName:@"YourNibName" bundle:nil]; 
相關問題