无法更改UILabel文本颜色

时间:2010-03-28 09:20:06

标签: objective-c uilabel uicolor

我想更改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];

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

感谢您的帮助。

6 个答案:

答案 0 :(得分:174)

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)

答案 1 :(得分:8)

可能是更好的方式

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

因此我们有彩色文字

答案 2 :(得分:2)

尝试这个,其中alpha是不透明度,其他是红色,绿色,蓝色chanels-

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

答案 3 :(得分:1)

可能,它们未在InterfaceBuilder中连接。

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

backgroundcolor用于标签的背景颜色,textcolor用于属性textcolor。

答案 4 :(得分:0)

以快速代码添加属性文本颜色。

迅速4:

  let greenColor = UIColor(red: 10/255, green: 190/255, blue: 50/255, alpha: 1)
  let attributedStringColor = [NSAttributedStringKey.foregroundColor : greenColor];

  let attributedString = NSAttributedString(string: "Hello World!", attributes: attributedStringColor)
  label.attributedText = attributedString

对于Swift 3:

  let greenColor = UIColor(red: 10/255, green: 190/255, blue: 50/255, alpha: 1)
  let attributedStringColor : NSDictionary = [NSForegroundColorAttributeName : greenColor];


  let attributedString = NSAttributedString(string: "Hello World!", attributes: attributedStringColor as? [String : AnyObject])
  label.attributedText = attributedString 

答案 5 :(得分:0)

// This is wrong 
categoryTitle.textColor = [UIColor colorWithRed:188 green:149 blue:88 alpha:1.0];

// This should be  
categoryTitle.textColor = [UIColor colorWithRed:188/255 green:149/255 blue:88/255 alpha:1.0];

// In the documentation, the limit of the parameters are mentioned.

colorWithRed:green:blue:alpha: documentation link