2013-03-20 89 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