4

我正在从 plist 中加载文本并将其显示在我的应用程序中。理想情况下,我希望能够指定更复杂的格式,例如斜体、粗体和上标文本,并将其显示在自定义标签中,例如TTTAttributedLabel

是否有任何可用的库可以将给定格式的字符串(最好是简单的文本格式,如 Markdown 或 Textile)解析为 NSAttributedString?我知道解决方案可用于解析 RTF 和 HTML,但这对我的需要来说是多余的——而且我希望文本可以轻松地手写。

编辑:这是为 iOS/UIKit

4

2 回答 2

3

抓住了你的编辑。对于 iOS/UIKit,有一个名为 NSAttributedString+HTML 的项目,它试图模拟 OS X 上可用的功能。在 OS X 上,您只需使用一些小的 HTML 来格式化字符串,然后将其解析为 NSAttributedString(或对象,或网站,或文件等)。

我上面提到的项目试图在 iOS 上提供相同的扩展。我不知道为什么,在 iOS 的 6 个主要版本之后,它仍然缺乏如此丰富的工具,并且将所有重量都推到了 UIWebView 上(超过了 WebKit),但事实就是如此。

于 2012-08-24T09:25:03.763 回答
1

我刚刚向 MGBoxKit 添加了一个NSString轻量级标记NSAttributedString解析器。它不是 Markdown 或 Textile,但它非常相似。到目前为止,它支持粗体、斜体、下划线、等宽和彩色文本。

MGMushParser类可以独立使用,并且相当容易扩展

NSString *markup = @"**bold**, //italics//, __underlining__, and `monospacing`, and {#0000FF|coloured text}";

UIFont *baseFont = [UIFont fontWithName:@"HelveticaNeue" size:18];
UIColor *textColor = UIColor.whiteColor;

myLabel.attributedString = [MGMushParser attributedStringFromMush:markup
                               font:baseFont color:textColor];

OHAttributedLabel也有一个类似的标记解析器。

于 2012-11-20T03:18:37.910 回答