2010-03-28 117 views
65

我想更改UILabel文本颜色,但无法更改颜色,这就是我的代码的样子。无法更改UILabel文本颜色

UILabel *categoryTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 46, 16)]; 
categoryTitle.text = @"abc"; 
categoryTitle.backgroundColor = [UIColor clearColor]; 
categoryTitle.font = [UIFont systemFontOfSize:12]; 
categoryTitle.textAlignment = UITextAlignmentCenter; 
categoryTitle.adjustsFontSizeToFitWidth = YES; 
categoryTitle.textColor = [UIColor colorWithRed:188 green:149 blue:88 alpha:1.0]; 
[self.view addSubview:categoryTitle]; 
[categoryTitle release]; 

标签的文字颜色是白色的,不是我的自定义颜色。

感谢您的帮助。

+0

如果你感到困惑,在此,作为测试使用.. ** [的UIColor绿彩],[的UIColor黄色] **等。 – Fattie 2014-05-13 15:05:37

回答

169

的UIColor的RGB分量0和1之间的比例,达不到255

尝试

categoryTitle.textColor = [UIColor colorWithRed:(188/255.f) green:... blue:... alpha:1.0]; 

在斯威夫特:

categoryTitle.textColor = UIColor(red: 188/255.0, green: ..., blue: ..., alpha: 1) 
+0

非常感谢。 – HelloWorld 2010-03-28 10:48:03

+0

Hi @ KennyTM.Can我知道为什么我们必须使用将值除以255 – 2011-11-03 10:42:32

+0

@EXC_BAD_ACCESS:将值从0 ... 255(0xff)转换为0.0 ... 1.0 – kennytm 2011-11-03 10:44:42

7

可能是更好的方法是

UIColor *color = [UIColor greenColor]; 
[self.myLabel setTextColor:color]; 

因此我们有彩色文本

+3

OP特别想使用**自定义颜色**,而不仅仅是预设颜色,所以使用预设不是一个可行的解决方案。接受的答案是正确的。 – Greg 2013-06-01 12:57:39

+0

该OP不应该使用自定义颜色,这太难:) – Fattie 2014-05-13 15:06:18

+1

“**太硬**”?上帝......(保持讽刺!) – 2016-01-06 15:46:12

1

有可能它们在InterfaceBuilder中没有连接。

文本颜色(colorWithRed:(188/255) green:(149/255) blue:(88/255))是正确的,可能是连接错误,

backgroundColor时用于标签的背景颜色和文字颜色用于物业的文字颜色。

2

试试这一个,其中的α是不透明度和别人是红,绿,蓝chanels-

self.statusTextLabel.textColor = [UIColor colorWithRed:(233/255.f) green:(138/255.f) blue:(36/255.f) alpha:1]; 
+0

有些解释会很好! – gsamaras 2015-05-18 14:49:27