首页 文章

无法更改UILabel文本颜色

提问于
浏览
66

我想更改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 回答

  • 173

    UIColor的RGB分量在0和1之间缩放,而不是255 .

    尝试

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

    在Swift中:

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

    可能是更好的方法

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

    因此我们有彩色文字

  • 2

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

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

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

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

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

  • 8

    在swift代码中添加属性文本颜色 .

    斯威夫特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
    
  • 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

相关问题