Swift 具有字体大小和HTML标记属性的NSMutableAttributeString
我在使用Swift 具有字体大小和HTML标记属性的NSMutableAttributeString,swift,nsmutableattributedstring,Swift,Nsmutableattributedstring,我在使用NSMutableAttributedString读取HTML字符串并增加其字体大小时遇到问题 输入HTML:Lorem ipsum dolor sit ametconsectetuer adipising elit 而nsmutableAttributeString转换如下: let htmlData = input.data(using: .utf8)! let htmlAttrs = [NSDocumentTypeDocumentAttribute:NSHTMLTextDocum
NSMutableAttributedString
读取HTML字符串并增加其字体大小时遇到问题
输入HTML:Lorem ipsum dolor sit ametconsectetuer adipising elit
而nsmutableAttributeString
转换如下:
let htmlData = input.data(using: .utf8)!
let htmlAttrs = [NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:String.Encoding.utf8.rawValue] as [String : Any]
do{
let new = try NSMutableAttributedString(data: htmlData, options: htmlAttrs, documentAttributes: nil)
let tillEnd = NSRange(location: 0, length: new.length)
let attr:UIFont = UIFont.systemFont(ofSize: 25)
//new.addAttribute(NSFontAttributeName, value: attr, range: tillEnd)
textView.attributedText = new
}
它正确读取HTML标记并给出输出
但如果我想增加字体大小并取消注释addAttribute
,则字体大小会增加,但HTML不会呈现
可以同时使用字体大小和HTML呈现的属性字符串吗?您可以使用span标记的style属性包含具有font size属性的CSS。您可以使用span标记的style属性包含具有字体大小的CSS属性。这是正常行为。斜体和粗体在UIFont中(NSFontAttributeName中也是如此)。您需要在此处迭代NSAttributeString的NSFontAttributeName这是一个好的开始:(Matt answer,但不要创建像Georgia这样的新字体,而是使用与以前相同的字体)。谢谢,Matt的答案有效。这是正常行为。斜体和粗体在UIFont中(NSFontAttributeName中也是如此)。您需要在此处迭代NSAttributeString的NSFontAttributeName这是一个好的开始:(Matt answer,但是不要创建像Georgia这样的新字体,而是使用与以前相同的字体)。谢谢,Matt的答案奏效了。