2013-05-07 108 views
7

我已經使用情節串連圖板創建了應用程序,並具有TabBarController 5個標籤。 每個選項卡都有tabicon和tab title。當選擇標籤時,我想更改tabbar圖標。 我該如何使用storyboard如何使用故事板更改標籤欄選定圖像

+0

在Xcode中6,你認爲你可以在屬性檢查器標籤欄項目的新「選擇圖片」領域做到這一點,但由於某種原因選擇時,結果在一個空白的形象,反正Xcode 6.1.1。不過,有一個解決方法詳細在這裏:http://stackoverflow.com/a/26802597/650558 – 2015-01-07 05:26:58

回答

-2

下面的代碼將在選擇改變的TabBar圖像:

UITabBarItem *tabBarItem = [[tabbar items] objectAtIndex:0]; 
[tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"img_hover.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"img.png"]]; 

改變標識定製,並添加圖像enter image description here

+0

我有5個選項卡,我應該在哪裏寫這段代碼。在每個viewController中。? – AMohan 2013-05-07 10:31:01

+0

on' - (void)viewDidLoad' – Ashini 2013-05-07 10:33:48

1

我已經得到了它。

子類UITabBarController - MyTabBarController

在寫viewDid負載:

UITabBarItem *tabBarItem0 = [self.tabBar.items objectAtIndex:0]; 
    [tabBarItem0 setFinishedSelectedImage:[UIImage imageNamed:@"selectedimage.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"image.png"]]; 

喜歡這一套對所有的TabBar項目和故事板的TabBar控制器設置爲MyTabBarController。它工作正常。

12

- (void)setFinishedSelectedImage:withFinishedUnselectedImage:已棄用。如果您使用的故事板,它是那樣簡單

UITabBarItem *tabBarItem0 = [self.tabBar.items objectAtIndex:0]; 
UIImage* selectedImage = [[UIImage imageNamed:@"settings-active"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
tabBarItem0.selectedImage = selectedImage; 

編輯

在斯威夫特:

var settingsItem = self.tabBar.items?[0] as UITabBarItem 
settingsItem.selectedImage = UIImage(named: "home-selected") 

請注意,此代碼屬於viewDidLoad覆蓋您UITabBarController子類。

1

您現在可以在故事板中輕鬆完成此操作。在你有的每個tabviewcontroller上,它應該包含層次結構中的一個選項卡欄項目(看起來像一個藍色的小星星),點擊它,右邊的設置應該如下圖所示。標籤欄標題&圖像可以在這裏更改。

enter image description here

相關問題