现在 iOS 6 完全支持 NSAttributedString,是否有一个库可以将带有 markdown 的 NSString 转换为 NSAttributedString?
7 回答
我刚刚向 MGBoxKit 添加了一个NSString
轻量级标记NSAttributedString
解析器。这不是 Markdown,但它非常相似。到目前为止,它支持粗体、斜体、下划线、等宽、文本颜色、背景颜色和字距调整。
MGMushParser类现在是一个独立的 pod,因此可以独立于 MGBoxKit 轻松使用。
NSString *markup = @"**bold**, //italics//, __underlining__, `monospacing`, and {#0000FF|text colour}";
UIFont *baseFont = [UIFont fontWithName:@"HelveticaNeue" size:18];
UIColor *textColor = UIColor.whiteColor;
myLabel.attributedString = [MGMushParser attributedStringFromMush:markup
font:baseFont color:textColor];
我刚刚开源了一个项目,该项目采用原始降价并将其转换为 NSAttributedString:
https://github.com/dreamwieber/AttributedMarkdown
这是一个正在进行中的工作,包括一个演示应用程序,该应用程序展示了如何将属性分配给各种降价元素。
DTCoreText将 html 转换为 NSAttributedString,OHAttributedLabel也有一些基本的降价支持。
你也可以看看https://github.com/xing/XNGMarkdownParser,工作快速可靠
供将来参考,因为这是我找到的第一篇文章,您现在可以使用NSAttributedString initWithData 和 NSDocumentTypeDocument在 iOS 7 上解析简单的 html
对 HTML 使用 Markdown 解析器似乎很容易,然后使用 initWithData 来完成剩下的工作。请参阅http://initwithfunk.com/blog/2013/09/29/easy-markdown-rendering-with-nsattributedstring-on-ios-7。
对于 HTML 转换,请参阅我在ios7 font size change when create nsattributedstring from html中的回答
看起来Bypass是一个很好的选择,它也经常更新(与提到的大多数其他 repos 不同)。它甚至提供了一个自定义UIView
子类来处理渲染本身。它还直接使用 Core Text 而不是 UITextView,这应该更快。
我一直在努力完善易于使用的完整 Markdown 库,最后我找到了 CocoaMarkdown。
它真的很棒,支持大部分语法并且有易于使用的 API。唯一缺少的是图像支持,所以我分叉了它并添加了全图像支持,以及缓存和启用使用 URL 中包装的图像,希望它能解决我对其他人的问题: