2017-09-06 24 views
1

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

像下面这样的画面:

enter image description here

不能与NSAttributedstring做到这一点。那么,我应该使用CoreText吗?我发现this answer但仍不知道该怎么做。

+0

的可能的复制[如何在iPhone上使用圆角标签的UILabel圆角] (https://stackoverflow.com/questions/8530115/how-to-use-rounded-corner-label -in-iphone-uilabel-round-corners) –

+1

@NicolasMiari特定文本的角落,而不是UILabel –

+0

我看到单个文本视图中的单个词......我的不好。 –

回答

1

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

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 

上面的代码会创建一个标签并设置您需要的所有内容,以便像图片中那样实现它。现在您需要将此标签添加到您的视图中,或者您可以将这些属性设置为您获得的现有标签。

编辑:

如果你想使文本视图里面五颜六色的单独的文本,你可以使用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])]; 
+0

嗯,我想为特定的文本做圆角,而不是UILabel。但是谢谢 –

+0

文本不能按原样显示。它可能是UILabel,UITextView,UIButton等的文本,但是文本不可视。 – asanli

+0

是的。也许我应该使用'CoreText'来做到这一点。我只是不知道如何。 –