2011-04-05 144 views
3

我該如何設置一個UITabBarController及其所有視圖控制器作爲分割視圖中的根視圖? IB似乎沒有讓我將根視圖控制器的類更改爲其他任何內容......我使用的是Xcode 4.將選項卡欄控制器添加到UISplitViewController的根視圖?

+0

你有沒有嘗試在appdelegate中以編程方式設置?我在這裏沒有我的Mac,所以我現在不能寫一個完整的答案:\ – 2011-04-05 23:00:02

+0

嗯......編程建立一個標籤欄將是一個痛苦。我不太清楚如何... – FeifanZ 2011-04-05 23:35:23

+0

UITabBarController * tabBarController = [[UITabBarController alloc] init]; tabBarController.viewControllers = [NSArray arrayWithObjects:controller1,controll2等,nil];是一個開始;)我將在明天開始工作(咯咯笑)時檢查! – 2011-04-05 23:38:09

回答

2

感謝dh14-sl和lecou-解決方案是您的答案的組合。我試圖將一個標籤欄控制器從庫中拖到元素列表中,但它不起作用 - 事實證明我必須將它拖到視圖本身。然後,我不得不改變我的rootvc的父類,並重新建立連接,但現在它似乎工作!多謝你們!

+0

你是如何重新建立連接的?通過拖動到視圖,你的意思是把它拖到MainWindow? – aherlambang 2011-05-11 12:50:50

2

您是否使用基於分割視圖的應用程序選項?在這種情況下,它適用於我擴展:RootViewController.h文件中的UITabBarController。我不確定你想在這裏做什麼樣的行爲,但是如果你這樣設置它,你應該在「root」選項中使用所有視圖的tabbar(你必須將它們添加到RootViewController.m ofc中)導航欄。

如果您希望DetailView顯示相同,您還必須將一個navigationcontroller添加到detailview。

至於IB的「更優雅」解決方案,恐怕我不是很喜歡IB或者非常有經驗。

2

你想在rootview端添加tabbarcontroller到你的分割視圖,它非常簡單。 創建儘可能多的視圖控制器與ipib的xib的子類,因爲你想放入tabbarcontroller。

  • 然後展開你的splitview,你有兩件事navigationcontroller(它反過來包含rootview控制器),detailview控制器(右側視圖)。
  • 打開你的圖書館只是拖動tabbar控制器exectly到navigationcontroller,所以它會取代所有的導航控制器和rootviewcontroller(我假設你不需要該rootview控制器或ü可以在以後創建它)。
  • 現在展開此的TabBar控制器u能看到的ViewController 1 - 的ViewController 2等
  • 現在只需選擇視圖控制器1,開放的屬性和選擇上[1個命令屬性]和選擇控制器文件用於通過按該筆尖文件筆尖文件[命令4屬性]。
  • 在tabbarcontroller中爲視圖控制器2重新設置此值並保存關閉IB。 運行程序選擇風景然後你可以看到它完成。
+0

ü甚至可以將更多的類添加到標籤欄只是打開庫,並拖拽viewcontroller到你之前創建的tababrcontroller,當你展開tabbar時,它會顯示viewcotroller + tabbaritem然後只是打開viewcontroller的屬性選擇nib n cotroller文件,保存關閉IB 。 – Dhawal 2011-04-08 09:00:04

相關問題