2010-03-28 171 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