You need to use tabBarItem initWithTitle:image:selectedImage
[[UITabBarItem alloc] initWithTitle:@"title" image:image selectedImage:imageSel];
combined with changing the UIImage rendering mode:
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal
or (to apply the hue mask to the parent view template, this is the default option for tab bar items unless you opt out of the above rendering mode)
imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate
Here is a sample code for a single tab bar item: -
UIImage *musicImage = [UIImage imageNamed:@"music.png"]; UIImage *musicImageSel = [UIImage imageNamed:@"musicSel.png"]; musicImage = [musicImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; musicImageSel = [musicImageSel imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; self.musicViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Music" image:musicImage selectedImage:musicImageSel];
Hope this helps
gav Sep 19 '13 at 17:26 2013-09-19 17:26
source share