【问题标题】:Display .RTF file on iOS devices WITHOUT UIWebView - initWithRTF on iOS?在没有 UIWebView 的 iOS 设备上显示 .RTF 文件 - iOS 上的 initWithRTF?
【发布时间】:2011-11-30 04:50:22
【问题描述】:

可以使用UIWebView 在iOS 中渲染.RTF 文件(请参阅here)。如何在不依赖UIWebView 的情况下直接将 .RTF 文件“渲染”到自定义层?

我正在显示一个带有自定义UITableViewCell 的表格视图。该单元格具有以下格式:

Cell Title
Cell SubTitle
/
|
| Variable length RTF content
|
\

RTF 内容直接来自应用附带的一系列文件。从历史上看,我可以将 RTF 转换为 HTML 并使用 UIWebView。随着越来越多的用户内容和在移动和桌面用户之间共享内容的附加功能,首选的文件格式是.RTF

在 MacOS 上,您可以使用 (id)initWithRTF:(NSData *)data documentAttributes:(NSDictionary **)dict 创建一个 NSAttributedString。 iOS上的等价物是什么?有没有可能?

【问题讨论】:

    标签: ios uitableview xamarin.ios rtf nsattributedstring


    【解决方案1】:

    OmniGroup 有一个用于读写 RTF 到 NSAttributedStrings 的类,但要准备好传输很多的依赖项。

    https://github.com/omnigroup/OmniGroup/tree/master/Frameworks/OmniUI/iPad/RTF

    然后可以使用 CoreText 绘制 NSAttributedStrings。

    【讨论】:

      【解决方案2】:

      除了UIWebView,没有股票富文本视图。您必须自己构建它或找到第三方工具。我不熟悉 iOS 的许多 RTF 解析器。 UIWebView,虽然可能有问题,但通常你是解决这个问题的最佳方法。

      【讨论】:

        【解决方案3】:

        有一个开源的 project 可以替代缺少的 initWithHTML,但遗憾的是,我没有看到 initWithRTF 有类似的东西。

        另一种解决方案是自己解析 RTF - Mono 的 System.Windows.Forms 有这样一个解析器(在 C# 中),但它不像即插即用那么容易。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-02-20
          相关资源
          最近更新 更多