2013-03-20 58 views
4

我試圖將自己的圖像設置爲UITabBarItem上的選定和未選擇圖像,但沒有運氣。我試着在視圖控制器viewDidLoadviewWillAppear方法下面的代碼,但無論作品:在UITabBarItem上使用自定義選定和未選擇的圖像

[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"on_rojo"] withFinishedUnselectedImage:[UIImage imageNamed:@"on"]]; 

我在做什麼錯?我也讀過:iOS 5: UITabBarItem setFinishedSelectedImage:withFinishedUnselectedImage: not working/ignored,但我已經在IB上創建了我的UITabBarController,而不是以編程方式。這是問題嗎?

謝謝你在前進,

回答

13

你必須爲每一個標籤項中選擇圖像。下面的代碼爲我工作

if ([[tabBarController.tabBar.items objectAtIndex:0] respondsToSelector:@selector(setFinishedSelectedImage:withFinishedUnselectedImage:)]) { 

    [[tabBarController.tabBar.items objectAtIndex:0] setFinishedSelectedImage:[UIImage imageNamed:@"blabla1.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"bleble1.png"]]; 
    [[tabBarController.tabBar.items objectAtIndex:1] setFinishedSelectedImage:[UIImage imageNamed:@"blabla2.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"bleble2.png"]]; 
    [[tabBarController.tabBar.items objectAtIndex:2] setFinishedSelectedImage:[UIImage imageNamed:@"blabla3.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"bleble3.png"]]; 
    [[tabBarController.tabBar.items objectAtIndex:3] setFinishedSelectedImage:[UIImage imageNamed:@"blabla4.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"bleble4.png"]]; 

} 
+0

該代碼應該放在哪裏?我可以在UITabBarViewController顯示的視圖控制器的'viewDidLoad'中使用它嗎? – neutrino 2013-03-20 11:32:15

+0

當然!有用!我會接受你的回答。非常感謝你! – neutrino 2013-03-20 11:34:59

+0

記住,在iOS7中,您需要使用此代碼的故事板中的圖標的SELECTED版本 – JulianB 2013-10-22 13:28:28

0

試試這個,我用這個:

ALTabbar

+0

謝謝你,但我沒有興趣在商業的控制,只是想知道如何正確使用'setFinishedSelectedImage:withFinishedUnselectedImage'method。 – neutrino 2013-03-20 11:36:31