17

现在 iOS 6 完全支持 NSAttributedString,是否有一个库可以将带有 markdown 的 NSString 转换为 NSAttributedString?

4

7 回答 7

11

我刚刚向 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];
于 2012-11-20T03:15:39.553 回答
6

我刚刚开源了一个项目,该项目采用原始降价并将其转换为 NSAttributedString:

https://github.com/dreamwieber/AttributedMarkdown

这是一个正在进行中的工作,包括一个演示应用程序,该应用程序展示了如何将属性分配给各种降价元素。

于 2012-12-07T23:43:28.183 回答
1

DTCoreText将 html 转换为 NSAttributedString,OHAttributedLabel也有一些基本的降价支持。

于 2012-10-28T17:50:19.153 回答
1

你也可以看看https://github.com/xing/XNGMarkdownParser,工作快速可靠

于 2014-12-17T11:41:31.377 回答
1

供将来参考,因为这是我找到的第一篇文章,您现在可以使用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中的回答

于 2014-07-18T05:41:29.040 回答
1

看起来Bypass是一个很好的选择,它也经常更新(与提到的大多数其他 repos 不同)。它甚至提供了一个自定义UIView子类来处理渲染本身。它还直接使用 Core Text 而不是 UITextView,这应该更快。

于 2015-06-23T14:03:28.570 回答
1

我一直在努力完善易于使用的完整 Markdown 库,最后我找到了 CocoaMarkdown

它真的很棒,支持大部分语法并且有易于使用的 API。唯一缺少的是图像支持,所以我分叉了它并添加了全图像支持,以及缓存和启用使用 URL 中包装的图像,希望它能解决我对其他人的问题:

https://github.com/X8/CocoaMarkdown

于 2016-01-21T04:49:10.343 回答