在没有UIWebView的iOS设备上显示.RTF文件 - 在iOS上使用initWithRTF?

时间:2011-10-03 20:01:49

标签: ios uitableview xamarin.ios rtf nsattributedstring

可以使用.RTF在iOS中呈现UIWebView文件(请参阅here)。如何直接将.RTF文件'呈现'到自定义图层,而不依赖于UIWebView

我正在显示一个包含自定义UITableViewCell的表格视图。单元格格式如下:

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

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

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

3 个答案:

答案 0 :(得分:4)

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

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

然后可以使用CoreText绘制NSAttributedStrings。

答案 1 :(得分:1)

除了UIWebView之外,没有库存富文本视图。您必须自己构建它或找到第三方工具。我不熟悉iOS的许多RTF解析器。 UIWebView,尽管有问题,但通常你是最好的方法。

答案 2 :(得分:1)

有一个开源project可以为缺少的initWithHTML创建替代品,但遗憾的是,我 看到initWithRTF的任何类似内容。< / p>

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