2017-09-06 49 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'來做到這一點。我只是不知道如何。 –