2012-07-31 107 views
3

我正在使用Iphone應用程序。 我正在使用StoryBoard。將XIB視圖添加到故事板中的選項卡視圖

我有一個選項卡視圖與3個選項卡。 「主頁」,「用戶」和「設置」。

我創建的故事板的「主頁」和「用戶」的說法,但設置視圖是一個XIB文件(SettingsView.xib)

我怎樣才能使第三個選項卡(「設置」)開放SettingsView.xib?我可以同時使用故事板和xib文件嗎?

我試圖在AppDelegate的startApp方法中初始化一個UINavigationController,但是我找不到如何將它添加到故事板。

感謝您的幫助

+0

這是兩個問題,幾乎肯定是重複的;希望我的答案適合你。 – 2012-07-31 11:21:15

回答

0

您可以按如下方式將基於xib的視圖添加到基於故事板的選項卡欄控制器。我假設以下內容:

  • 標籤欄控制器是故事板的初始視圖控制器。
  • 你設置控制器是一個叫SettingsController
  • 您的包稱爲SettingsTabImage

標籤欄圖像定義與它只是你的基於故事板標籤欄項目的故事板標籤欄控制器類 - 家庭和用戶在你的情況

在您的應用程序委託,使用application:didFinishLaunchingWithOptions:下面的代碼:

// Create your settings view controller 
SettingsController *settingsVC = [[SettingsController alloc] initWithNibName:nil bundle:nil]; 

// Create a tab bar item 
UITabBarItem *settingsItem = [[UITabBarItem alloc] initWithTitle:@"Settings" image:[UIImage imageNamed:@"SettingsTabImage" tag:0]; 
settingsVC.tabBarItem = settingsItem; 

// Get a reference to the tab bar controller 
UITabBarController *tbC = (UITabBarController*)self.window.rootViewController; 

// Get the current view controllers in your tab bar 
NSMutableArray *currentItems = [NSMutableArray arrayWithArray:tbC.viewControllers]; 

// Add your settings controller 
[currentItems addObject:settingsVC]; 
tbC.viewControllers = [NSArray arrayWithArray:currentItems]; 
+0

謝謝我會嘗試一下。一個問題,如果標籤欄控制器不是初始視圖,我怎麼能得到它的參考? (有一個視圖控制器,帶有一個按鈕,將導致標籤欄控制器) – Youssef 2012-08-02 12:58:01

+0

您需要將這樣的代碼放在prepareForSegue方法中,該方法在顯示標籤欄控制器之前運行。在這種情況下,標籤欄控制器將成爲segue的目標視圖控制器。 – jrturton 2012-08-02 13:00:00

+0

工作就像一個魅力。謝了哥們 – Youssef 2012-08-02 14:18:13

2

TabViewControllers通常爲每個選項卡有一個導航控制器。 在故事板中創建導航控制器並將它們連接到選項卡視圖控制器的navigationcontrollers關係。

導航控制器的初始視圖連接到導航控制器的rootViewController關係。

關於你的第二個問題,我不能肯定,但我認爲下面的工作: -

創建故事板一個UIViewController和改變它的類類,你從廈門國際銀行加載。當故事板實例化類時,它將使用XIB,前提是該類的類名完全匹配XIB的名稱。雖然我不認爲你可以在這裏做任何iPad/iPod檢查。

+0

「當故事板實例化類時,它將使用XIB,前提是該類的類名與XIB的名稱完全匹配」做了竅門 – anoop4real 2016-01-17 09:15:39

相關問題