无法使用自定义颜色更改标签栏 tintColor

Posted

技术标签:

【中文标题】无法使用自定义颜色更改标签栏 tintColor【英文标题】:Can't change tabbar tintColor with a custom color 【发布时间】:2012-06-15 14:48:36 【问题描述】:

我正在尝试使用自定义颜色更改标签栏的颜色,但似乎没有办法做到这一点......

我以这种方式为 UIColor 类定义了一个类别:

@implementation UIColor (UakariColor)

+(UIColor *) defaultUakariColor 
    return [UIColor colorWithRed:237.0/255.0 green:28.0/255.0 blue:36.0/255.0 alpha:0];

@end

然后我尝试以这种方式(在自定义标签栏控制器中)用我的自定义颜色设置标签栏的颜色:

//Change the color of the tabbar
if([[self tabBar] respondsToSelector:@selector(setTintColor:)])
    [[self tabBar] setTintColor:[UIColor defaultUakariColor]];

但它不起作用(标签栏为黑色),如果我改为设置标准颜色,如 redcolor :

[[self tabBar] setTintColor:[UIColor redColor]];

它可以工作,并将颜色设置为红色......

为什么自定义颜色不起作用?是BUG吗?

【问题讨论】:

【参考方案1】:

如果你有setalpha(opacity)0,那么它将是like clear color,所以它按照你的requirmentset 它到1。这样做:

@implementation UIColor (UakariColor)

+(UIColor *) defaultUakariColor 
return [UIColor colorWithRed:(237.0/255.0) green:(28.0/255.0) blue:(36.0/255.0) alpha:1];

@end

【讨论】:

以上是关于无法使用自定义颜色更改标签栏 tintColor的主要内容,如果未能解决你的问题,请参考以下文章

自定义标签栏背景颜色。如何更改标签栏背景的颜色?

是否可以自定义 UIMenuController 的颜色?

更改导航栏中后退按钮的颜色

自定义 iOS 标签栏选定颜色

更改在 iOS 7.1 中选择的 TintColor 选项卡栏项目

如何创建自定义标签栏...在标签栏中添加自定义图像(无需 xib 更改)