是否可以更改UILabel中部分文本的背景颜色?如何?

时间:2015-04-16 15:03:55

标签: ios objective-c uilabel

我想让UILabel的部分文本以不同的背景颜色显示。我看过一些改变字体和文字颜色的例子,但我找不到任何关于改变背景颜色的事情。 有没有办法做到这一点?

感谢。

如果可以提供代码示例,那就太棒了。

1 个答案:

答案 0 :(得分:2)

是的,使用属性字符串。

  let textColor = UIColor(red: 0.175, green: 0.458, blue: 0.831, alpha: 1)
  let attributes = [
    NSForegroundColorAttributeName : textColor,
    NSFontAttributeName : font,
    NSTextEffectAttributeName : NSTextEffectLetterpressStyle
  ]
  let attributedString = NSAttributedString(string: note.title, attributes: attributes)

  labelText.attributedText = attributedString

//编辑ObjC Answer

NSMutableAttributedString* string = [[NSMutableAttributedString alloc]initWithString:@"you string"];
[string addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, string.length)];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(0, string.length)];//TextColor
[string addAttribute:NSUnderlineStyleAttributeName value:underlineNumber range:NSMakeRange(0, string.length)];//Underline color
[string addAttribute:NSUnderlineColorAttributeName value:[UIColor lightGrayColor] range:NSMakeRange(0, string.length)];//TextColor
labelText.attributedText = string;