弹出窗口时设置标签栏图标颜色?

时间:2014-09-19 15:10:07

标签: ios objective-c ios7 xcode5

我已经能够根据需要设置标签栏项目的文本和图标颜色。白色表示不活动,蓝色表示活动。

但是,我仍遇到一个问题: 显示弹出窗口或警报视图时,标签栏项目图标显示为灰色:

enter image description here enter image description here

是否有可能为此状态保持蓝色?

感谢您的帮助。

修改

对不起,我的问题不重复。我已经做了所有这些事情:

self.tabBar.tintColor = COLOR_CORPORATE_BLUE;
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                   [UIColor whiteColor], NSForegroundColorAttributeName,
                                                   nil] forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                   COLOR_CORPORATE_BLUE, NSForegroundColorAttributeName,
                                                   nil] forState:UIControlStateSelected];

NSUInteger i = 0;
NSString *imageName = @"";
for (UITabBarItem *item in self.tabBar.items) {
    switch (i) {
        case 0: imageName = @"home_tab_db"; break;
        case 1: imageName = @"home_tab_al"; break;
        case 2: imageName = @"home_tab_ru"; break;
        case 3: imageName = @"home_tab_da"; break;
    }

    UIImage *img = [UIImage imageNamed:imageName];
    if ([img respondsToSelector:@selector(imageWithRenderingMode:)]) {
        item.image = [img imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    } else {
        item.image = img;
    }
    item.selectedImage = [UIImage imageNamed:[imageName stringByAppendingString:@"_active"]];

    i++;
}

但是,正如我所写,任何弹出窗口,警报视图等都会将我的活动图标的颜色更改为灰色。

2 个答案:

答案 0 :(得分:1)

self.tabBar.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;

这份工作。

答案 1 :(得分:0)

我通过设置图片属性解决了该问题。从Assets文件夹中选择一个图像->单击特定图像-> Go属性检查器->将“渲染为”属性设置为“原始图像”

enter image description here