我想讓UILabel的文本部分以不同的背景顏色出現。我看到一些例子改變字體和文字顏色,但我找不到任何有關改變背景顏色的事情。 有沒有任何可能的方法來做到這一點?是否可以更改UILabel中文本部分的背景顏色?如何?
謝謝。
如果能夠提供一個代碼示例,這將是巨大的。
我想讓UILabel的文本部分以不同的背景顏色出現。我看到一些例子改變字體和文字顏色,但我找不到任何有關改變背景顏色的事情。 有沒有任何可能的方法來做到這一點?是否可以更改UILabel中文本部分的背景顏色?如何?
謝謝。
如果能夠提供一個代碼示例,這將是巨大的。
是的,使用屬性字符串。
let textColor = UIColor(red: 0.175, green: 0.458, blue: 0.831, alpha: 1)
let attributes = [
NSForegroundColorAttributeName : textColor,
NSFontAttributeName : font,
NSTextEffectAttributeName : NSTextEffectLetterpressStyle
]
let attributedString = NSAttributedString(string: note.title, attributes: attributes)
labelText.attributedText = attributedString
//編輯爲ObjC Answer
NSMutableAttributedString* string = [[NSMutableAttributedString alloc]initWithString:@"you string"];
[string addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, string.length)];
[string addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(0, string.length)];//TextColor
[string addAttribute:NSUnderlineStyleAttributeName value:underlineNumber range:NSMakeRange(0, string.length)];//Underline color
[string addAttribute:NSUnderlineColorAttributeName value:[UIColor lightGrayColor] range:NSMakeRange(0, string.length)];//TextColor
labelText.attributedText = string;
這個代碼有一個Objective-c版本嗎?在我看來,它會改變前景色「NSForegroundColorAttributeName」。 – Ismail
我沒有提供代碼來完成你想要的。這是關於你的。我提供了一個關於如何在Swift和ObjC中使用屬性字符串的例子。深入瞭解所有可能性的文檔以進一步理解屬性字符串的強大功能。 ;-) https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableAttributedString_Class/ –
謝謝你提供的示例和文檔。 – Ismail
使用'NSAttributedString'? – trojanfoe
'NSAttributedString'應該適合你。但是如果背景顏色的變化不是直接出現在兩個字符之間,那麼使用標籤後面的另一個視圖並設置該視圖的背景顏色。 – rmaddy
@trojanfoe是我見過的例子使用'NSAttributedString'。我想要做的就是突出「UILabel」中的一些文本。 – Ismail