向NSAttributedString添加多个属性并对HTML进行编码

时间:2018-06-06 09:32:03

标签: text encode nsattributedstring

我想将文本编码为HTML并同时应用多个属性。

My Swift 4代码如下所示:

let attributedString = try? NSMutableAttributedString(
                data: tweetContent.data(using: String.Encoding.unicode, allowLossyConversion: true)!,
                options: [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html],
                documentAttributes: nil)

let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineHeightMultiple = 1.4

let attributes = [NSAttributedStringKey.font: UIFont(name: "Roboto-Regular", size: 17.0)!,
                NSAttributedStringKey.paragraphStyle: paragraphStyle]

let textRangeForFont : NSRange = NSMakeRange(0, attributedString!.length)
attributedString?.addAttributes(attributes, range: textRangeForFont)

tweetContent表示我想为其设置字体的字符串,应该为HTML编码。最后,我希望在不丢失html编码的情况下为该字符串设置尽可能多的属性。

但是,此代码会显示我在故事板中设置的占位符文本。

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我忘了将属性文本添加到textview:

textView.attributedText = attributedString 

这解决了我的问题。