2010-10-27 119 views

回答

-4

你可以改變圖像做,但所選擇的圖像始終具有對圖像應用相同的藍色覆蓋。我可以看到解決這個問題的唯一方法可能是繼承UITabBarItem。

10

它可能沒有添加任何subView。

在您定義的標籤欄類設置 tabBarItem的屬性 - >>

UITabBarItem *tabBarItem1 = [[self.tabBar.tabBar items] objectAtIndex:0]; 
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"campaigns_hover.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"campaigns.png"]]; 

其tabBarItem的屬性和u可以默認的藍色圖像更改爲自定義圖像。 campaigns_hover.png是選定的自定義圖像與 campaigns.png是自定義圖像未選中時...

享受的祕密.. :)

+1

finishedSelectedImage:是因爲iOS版7.使用過時的selectedImage屬性。 – Daniel 2014-02-03 21:28:34

1

在iOS 6中我有改變,如選擇Tabbaritem圖像 -

在使用TabBar控制器的委託方法

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 

{ 
    if([tabBarController selectedIndex] == 0) 
    { 
     [viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]]; 
    }  
} 

通過這個你可以改變你的形象。

或者你可以在你的視圖控制器直接用初始化(或viewWillAppear中)的方法,像

[viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]]; 
+0

真棒代碼,保持它 – user40910 2014-05-07 13:32:25