用于呈现HTML内容的核心文本

时间:2011-02-14 15:53:27

标签: html objective-c ipad core-text


我想知道是否有办法使用核心文本呈现html内容, 因为普通的UIWebView很慢,所以加载它。

我有非常基本的需求:
- 阅读 p 标签
- 阅读 span 标签
- 使用颜色
- 使用字体尺寸

就是这样。

非常感谢你! ķ

3 个答案:

答案 0 :(得分:2)

好吧,我有点棘手地解决了这个问题 我实现了一个HTMLParser来提取我需要格式化的字符 以不同的方式。比我继续在Core-Text中使用字符串。

我的推荐信是

[HTMLParser] https://github.com/zootreeves/Objective-C-HMTL-Parser
请记住,通过一个接一个地解析两个标签,这个问题 (例如< p>< span> ...< / span>< / p>)

[CoreText的kickstart] https://github.com/jonasschnelli/I7CoreTextExample

答案 1 :(得分:1)

请参阅此开源项目:https://github.com/Cocoanetics/DTCoreText

它无法帮助您使用Core Text呈现属性字符串,但它可以帮助您将HTML转换为NSAttributedString

答案 2 :(得分:0)

这个问题在这里已经得到了更好的回答:

https://stackoverflow.com/a/18886718/187258

如果您的目标是iOS 7及更高版本(目前您应该这样做),则无需使用DTCoreText。

以下是答案中代码的重印(重要标记:NSHTMLTextDocumentType):

[[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUTF8StringEncoding] 
                                 options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
                                           NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)} 
                      documentAttributes:nil 
                                   error:nil];