如何在iOS中为Strings添加背景颜色和圆角?

时间:2017-09-06 07:31:18

标签: ios core-text

如何为iOS中的字符串添加背景颜色和圆角?

如下图所示:

enter image description here

无法使用NSAttributedstring执行此操作。那么,我应该使用CoreText吗?我发现this answer但仍然不知道该怎么做。

1 个答案:

答案 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])];