如何为iOS中的字符串添加背景颜色和圆角?
如下图所示:
无法使用NSAttributedstring
执行此操作。那么,我应该使用CoreText
吗?我发现this answer但仍然不知道该怎么做。
答案 0 :(得分:3)
字符串只是文本格式的数据,它不是可视的。你需要标签,那些是那里的标签。然后将您的字符串设置为该标签。
let label = UILabel()
label.backgroundColor = .green
label.text = "Label" // You set your string to your label
label.layer.cornerRadius = 5
label.layer.borderColor = .clear
label.layer.borderWidth = 1
label.layer.clipsToBounds = true
上面的代码创建了一个标签,并设置了实现它所需的一切,就像在图片中一样。现在,您需要将此标签添加到视图中,或者您可以将这些属性设置为您获得的现有标签。
修改强>
如果要使文本视图中的单个文本变得鲜艳,可以使用TTTAttributedLabel并将带有背景的属性文本设置为单个文本。
您可以找到TTTAttributedLabel here。
CornerRadius: kTTTBackgroundCornerRadiusAttributeName
BackgroundColor: kTTTBackgroundFillColorAttributeName
使用示例:
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithAttributedString:TTTAttributedTestString()];
[string addAttribute:kTTTBackgroundFillColorAttributeName value:(id)[UIColor greenColor].CGColor range:NSMakeRange(0, [string length])];