HTML到NSMutableAttributedString在ios 6中不起作用

时间:2014-10-28 11:40:54

标签: objective-c ios6 uitextview nsmutableattributedstring

我使用下面的代码将HTML文本转换为NSMutableAttributedString并在UITextView中显示它。 -

attributedStringTitle = [[NSMutableAttributedString alloc] initWithData:[titleString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];

这适用于iOS 7或更高版本但不适用于iOS 6 ..请帮助。

3 个答案:

答案 0 :(得分:1)

NSHTMLTextDocumentType在iOS6中不可用:

来自Apple文档:

  

NSHTMLTextDocumentType超文本标记语言(HTML)文档。

     

适用于iOS 7.0及更高版本。

答案 1 :(得分:1)

这是因为NSHTMLTextDocumentType仅适用于iOS 7及更高版本。阅读here以获取可用常量列表。

答案 2 :(得分:1)

根据文档NSHTMLTextDocumentType is only available on iOS 7 and later所以你可以做一些替代方案: -

1)为此,您可以使用3rd party Framework

2)使用UIWebView

3)请参阅此display-html-text-in-uitextview

但是如果您只需要将html标记解析为字符串,那么您可以使用initWithString api进行解决方法。但在此之前,您需要使用initWithData从NSData创建字符串对象str: -

- (NSString *)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding;
- (id)initWithString:(NSString *)str attributes:(NSDictionary *)attrs;

注意: - 以上两个api会将html标签解析为纯文本