【问题标题】:Parsing text from plist to NSAttributedString将文本从 plist 解析为 NSAttributedString
【发布时间】:2014-05-04 09:15:15
【问题描述】:

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

是否有任何可用的库可以将给定格式(最好是简单的文本格式,例如 Markdown 或 Textile)的字符串解析为 NSAttributedString?我知道有一些解决方案可用于解析 RTF 和 HTML,但这对我的需求来说太过分了——而且我希望文本可以很容易地手写。

编辑:这是针对 iOS/UIKit 的

【问题讨论】:

标签: objective-c ios plist markdown nsattributedstring


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    我刚刚将NSString 添加到NSAttributedString 轻量级标记解析器到MGBoxKit。它不是 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 也有类似的标记解析器。

    【讨论】:

      猜你喜欢
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 2014-07-02
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多