我想知道是否有办法使用核心文本呈现html内容,
因为普通的UIWebView很慢,所以加载它。
我有非常基本的需求:
- 阅读 p 标签
- 阅读 span 标签
- 使用颜色
- 使用字体和尺寸
就是这样。
非常感谢你! ķ
答案 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];