在iOS中的UITextView中将自定义字体添加到已解析的HTML内容时,斜体字体不起作用

时间:2016-10-18 18:33:26

标签: ios objective-c xcode8 ios10 nsattributedstring

我有一个textview,我正在解析和HTML内容,它工作正常。但是标记为斜体的标签不起作用。我正在使用自定义字体。以下是示例代码:

NSString *messages = @"<b>Bold</b><br><i>Italic</i><p> <del>Deleted</del><p>List<ul><li>Coffee</li><li type='square'>Tea</li></ul><br><a href='URL'>Link </a>";

NSString *stringWithFont = [NSString stringWithFormat:@"<span style=\"font-family: OpenSans; font-size: 14\">%@</span>", messages];

NSAttributedString *attributedString = [[NSAttributedString alloc]
                                                initWithData: [stringWithFont dataUsingEncoding:NSUnicodeStringEncoding]
                                                options: @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType }
                                                documentAttributes: nil
                                                error: nil
                                                ];

_notificationTextView.attributedText = attributedString;

这是它的外观,请注意斜体不起作用。

enter image description here

更新

目前我的项目包括所有Opensans字体集,例如,常规,斜体,粗体,半框等。因此,如果我从我的项目中删除了轻字体或其引用,它似乎工作。看起来像常规和轻字体的某种奇怪的冲突。有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

它对我有用。显示斜体文字。使用

     self.txtView.attributedText=attributedString;