【问题标题】:HTML to NSMutableAttributedString not working in ios 6HTML 到 NSMutableAttributedString 在 iOS 6 中不起作用
【发布时间】:2014-10-28 11:40:53
【问题描述】:

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

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

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

【问题讨论】:

    标签: objective-c ios6 uitextview nsmutableattributedstring


    【解决方案1】:

    NSHTMLTextDocumentType 在 iOS6 中不可用:

    来自 Apple 文档:

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

    适用于 iOS 7.0 及更高版本。

    【讨论】:

    • 寻找第三方库,检查 CocoaPods。
    【解决方案2】:

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

    【讨论】:

    • 寻找第三方框架,或手动处理 HTML 文档中的组件
    【解决方案3】:

    根据 Docs 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标签解析为纯文本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 2012-09-25
      • 2012-10-09
      • 1970-01-01
      相关资源
      最近更新 更多