setSelectedImageTintColor not working in iOS 7
Asked Answered
H

1

10

I'm trying to setSelectedImageTintColor in iOS 7, but it's not working. Here's the code that I have in my AppDelegate.m under didFinishLaunchingWithOptions

UITabBarController *tabBarController = (UITabBarController *) self.window.rootViewController;
UITabBar *tabBar = tabBarController.tabBar;

for (UITabBarItem *item in tabBar.items)
    {
        UIImage *image = item.image;
        UIImage *correctImage = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
        item.image = correctImage;
    }

[[UITabBar appearance] setTintColor:[UIColor whiteColor]];
[[UITabBar appearance] setSelectedImageTintColor:[UIColor colorWithRed:44.0/255.0 green:176.0/255.0 blue:28.0/255.0 alpha:1.0]];
[[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:51.0/255.0 green:51.0/255.0 blue:51.0/255.0 alpha:1.0]];

It still won't show the selectedImageTintColor. It's white when selected; gray when unselected. What am I doing wrong?

Heiskell answered 10/10, 2013 at 21:59 Comment(0)
S
15

This is a known issue in iOS 7. The tintColor is used for the selected tab image. The selectedImageTintColor is completely ignored. There is no way to tint unselected tab images.

See a discussion on the Apple Developer Forums about this.

Please file a bug report with Apple.

Sandstorm answered 10/10, 2013 at 23:7 Comment(1)
I guess you can solve this by using an UIImage with UIImageRenderingModeAlwaysOriginal mode.Flowerpot

© 2022 - 2024 — McMap. All rights reserved.