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

Is it Possible to change background Colour for a part of text in UILabel? and How?

我想让 UILabel 的部分文本显示为不同的背景颜色。我看过一些更改字体和文本颜色的示例,但我找不到任何有关更改背景颜色的信息。 有什么办法可以做到吗?

谢谢。

如果可以提供代码示例就更好了。

是的,使用属性字符串。

  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;