归因于String的字符串不起作用

时间:2016-05-31 13:09:14

标签: ios swift nsattributedstring

我在标签上设置属性我的代码写在下面, 唯一的问题是我的字体和颜色没有在标签上呈现。

$objWriter->setPreCalculateFormulas(true);

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

NSAttributedString(data:options:documentsAttributes)在其选项中不支持NSFontAttributeNameNSForegroundColorAttributeName。 他们将被忽略。

因此,您必须使用NSMutableAttributedString,然后添加自己的效果:

let encodedData = htmlString.dataUsingEncoding(NSUTF8StringEncoding)!

let attributedOptions : [String: AnyObject] = [
    NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
    NSCharacterEncodingDocumentAttribute: NSUTF8StringEncoding
]
let attributedString = try NSMutableAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil)
let addedEffects:[String:AnyObject] = [                                    
    NSFontAttributeName: UIFont(name: "SourceSansPro-Regular", size:16)!,
    NSForegroundColorAttributeName: UIColor.redColor()
]
attributedString.addAttributes(addedEffects, range:NSRange(location:0,length:attributedString.length)
htmlTextLabel.attributedText = attributedString

注意:我不知道它是否编译,但你应该明白这一点。

我发布了答案,有一个" Swift方式"理解这个问题,但它显然是重复的,并且如果问题被标记为这样,将很乐意删除答案。