Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 具有字体大小和HTML标记属性的NSMutableAttributeString_Swift_Nsmutableattributedstring - Fatal编程技术网

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的答案奏效了。