2

change a custom image for UITabBar item I have used this code but, it's not working.

UIImage *selectedImage0 = [UIImage imageNamed:@"f.png"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"f.png"];

UIImage *selectedImage1 = [UIImage imageNamed:@"g.png"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"g.png"];

UIImage *selectedImage2 = [UIImage imageNamed:@"i.png"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"i.png"];

UIImage *selectedImage3 = [UIImage imageNamed:@"s.png"];
UIImage *unselectedImage3 = [UIImage imageNamed:@"s.png"];

UIImage *selectedImage4 = [UIImage imageNamed:@"t.png"];
UIImage *unselectedImage4 = [UIImage imageNamed:@"t.png"];


UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
UITabBarItem *item3 = [tabBar.items objectAtIndex:3];
UITabBarItem *item4 = [tabBar.items objectAtIndex:4];

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
[item4 setFinishedSelectedImage:selectedImage4 withFinishedUnselectedImage:unselectedImage4];
kb920
  • 3,039
  • 2
  • 33
  • 44
Gova
  • 41
  • 5

2 Answers2

4

You should use - (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode NS_AVAILABLE_IOS(7_0); method like below

item0.image = [unselectedImage1 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
item0.selectedImage = [selectedImage1 imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
Kenan Karakecili
  • 731
  • 6
  • 23
0

You have set two images for each tabitem simple image and hover image.

item0.image = [[UIImage imageNamed:@"f.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; // set simple image

item0.selectedImage = [[UIImage imageNamed:@"f.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; // set hover image
Sandy Patel
  • 768
  • 7
  • 19
  • 1
    nope. i have my own answer but something issue while uploading answer. before update my answer you already answered.. – Sandy Patel Aug 09 '16 at 12:06