使用swift的字符串中的两个UIColors

时间:2014-11-16 20:55:29

标签: ios swift uilabel nsattributedstring

我有一个字符串,我想应用两种颜色,然后将该字符串插入UILabel。字符串可能如下所示:

var theString = "Kr. 200 \u{00B7} Red bike"

在这个字符串中我想在\ u {00B7}之前分开,以便下面的这个字符串是红色的。

"\u{00B7} Red bike"

我想我需要先将它分开然后使用某种属性文本或我该怎么做?

let titleString = theString.componentsSeparatedByString("\u{00B7}")

1 个答案:

答案 0 :(得分:2)

使用属性String可以正常工作。创建一个NSMutableAttributedString变量,在其上应用属性。然后将其分配给UILabel的属性文本属性 以下是一个示例示例:

var myString:NSString = "Blue Text Red Text"   
var myMutableString = NSMutableAttributedString()   
myMutableString = NSMutableAttributedString(string: myString as String, attributes: nil)
myMutableString.addAttribute(NSForegroundColorAttributeName, value:UIColor.blueColor(), range: NSRange(location:0,length:9))  
myMutableString.addAttribute(NSForegroundColorAttributeName, value:UIColor.redColor(), range: NSRange(location:10,length:7))

yourlabel.attributedText = myMutableString