2012-01-12 28 views

回答

6

UITabBarController通過檢查視圖控制器本身,派生出爲每個視圖控制器創建標籤欄項目所需的所有信息。

您只需要使用-setViewControllers:animated:分配一個視圖控制器數組。

將視圖控制器添加到標籤欄控制器後,標籤欄控制器將檢查視圖控制器的tabBarItem屬性。此選項卡欄項目將自動插入到選項卡欄控制器的選項卡欄中。 您可以以編程方式初始化每個視圖控制器中的選項卡欄。它看起來是這樣的......

UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Title" image:[UIImage imageNamed:@"someImage"] tag:1]; 

,或者如果你想使用該系統的項目之一...

UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithSystemItem:UITabBarSystemItemFeatured tag:1]; 

我建議你看一看的UITabBarControllerUITabBarItemUIViewController類參考並閱讀相關屬性。這些文檔充滿了不可或缺的信息。

+0

我喜歡這個解決方案,但我似乎無法設置標籤欄項目的自定義標題,一旦它有一個系統項目附加到它。 *嘆* – 2012-07-05 17:24:56

2

是的,所以如果你的資源中有30x30的.png文件,這應該只是添加如下代碼的問題。你可以把它放在與標籤欄索引關聯的視圖控制器的init方法中。

//get the tab bar item 
      UITabBarItem *tbi = [self tabBarItem]; 

      //Give it a label 
      [tbi setTitle:@"Item One"]; 

      //create a UIImage from a file 
      UIImage *i = [UIImage imageNamed:@"MyItem.png"]; 

      //put that image on the tab bar item 
      [tbi setImage:i];