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

Eli*_*bel 8 core-text ios

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

像下面这张图:

在此处输入图片说明

不能用NSAttributedstring. 那么,我应该使用CoreText吗?我找到了这个答案,但仍然不知道该怎么做。

asa*_*nli 2

字符串只是文本格式的数据,它不可视。你需要标签,那些标签就在那里。然后将字符串设置为该标签。

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
Run Code Online (Sandbox Code Playgroud)

上面的代码创建了一个标签并设置了实现它所需的一切,如图所示。现在您需要将此标签添加到您的视图中,或者您可以将这些属性设置为您获得的现有标签。

编辑:

如果您想让文本视图中的单个文本变得丰富多彩,您可以使用 TTTAttributedLabel 并将带有背景的属性文本设置为各个文本片段。

您可以在此处找到 TTTAttributedLabel 。

角半径: kTTTBackgroundCornerRadiusAttributeName

背景颜色: kTTTBackgroundFillColorAttributeName

用法示例:

NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithAttributedString:TTTAttributedTestString()];

[string addAttribute:kTTTBackgroundFillColorAttributeName value:(id)[UIColor greenColor].CGColor range:NSMakeRange(0, [string length])];
Run Code Online (Sandbox Code Playgroud)