我正在从plist加载文本并在我的应用程序中显示它。理想情况下,我希望能够指定更复杂的格式,如斜体,粗体和上标文本,并将其显示在自定义标签中,例如TTTAttributedLabel。
是否有任何可用的库将给定格式的字符串(最好是简单的文本格式,如Markdown或Textile)解析为NSAttributedString?我知道解决方案可用于解析RTF和HTML,但这对我的需求来说太过分了 - 而且我希望手工轻松写出文本。
编辑:这适用于iOS / UIKit
答案 0 :(得分:3)
抓住你的编辑。对于iOS / UIKit,有一个名为NSAttributedString + HTML的项目,它试图模拟OS X上可用的功能。在OS X上,您只需使用一些次要HTML来格式化字符串,然后将其解析为NSAttributedString(或对象,或网站,或文件等)。
我上面提到的项目试图在iOS上提供相同的扩展。我不知道为什么,在iOS的6个主要版本之后,它仍然缺乏这样丰富的工具,并且在UIWebView(通过WebKit)上推动了所有的重量,但事实就是如此。
答案 1 :(得分: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也有类似的标记解析器。