我可能會開始如下(假設你使用的界面生成器,並使用標準的Xcode工具應用模板):
- 編輯您的MainWindow.xib文件,並拖動標籤欄控制器對象到頂層您的視圖層次結構。
- IB中的默認標籤欄控制器包含兩個視圖控制器項目作爲示例。單擊第一個,並將其類更改爲您現有的主視圖控制器類。
- 您還可以通過添加IB已添加到視圖層次結構中的關聯選項卡欄項目來設置主視圖控制器項目的圖標和選項卡欄標題。
- 對設置FlipsideViewController類的第二個標籤欄項目做同樣的事情。
- 從NIB文件中刪除舊版本的主視圖控制器,並從應用程序委託中刪除IBOutlet屬性(您可能也應該刪除dealloc中的主視圖控制器引用)。
在應用程序委託添加一個IBOutlet屬性的標籤欄控制器如下(不要忘記來合成屬性):
@屬性(非原子,保留)IBOutlet中的UITabBarController * tabBarController;
在IB中,將來自App委託對象的tabBarController出口連接到選項卡欄控制器對象。
最後得到的標籤欄控制器代替主視圖控制器以顯示在應用程序的代碼改變中:didFinishLaunchingWithOptions:以下內容:
[self.window addSubview:self.tabBarController.view] ;
這應該讓基本標籤欄應用程序啓動並運行,並且您可以將其他視圖控制器添加到標籤欄。
由於您不再需要在MainView和FlipsideView之間翻轉,因此您可以從MainViewController中刪除對FlipsideViewControllerDelegate的引用以及info按鈕及其IBAction方法showInfo。同樣在FlipeSideViewController中,你應該從視圖和它的IBAction方法中移除done按鈕,因爲這些方法在使用標籤欄時不再有意義。
你可以請更具體地說你想要什麼得到最終結果?例如將設置屏幕從背面移至單獨的前側標籤。 – Russian
@Russian,多數民衆贊成正是我想要在第一次實現..之後,我會創建更多的選項卡。 我編輯了這個問題。謝謝 。 –