嵌入在UITextView中的三列表

时间:2014-03-01 15:34:13

标签: ios objective-c cocoa-touch textkit

我的项目包括在UITextView中显示文档。大部分文档都是非常直接的归属文本,我的工作得很好。文档的其他部分由普通文本组成,然后是3列表,其中2或3行基本上位于普通文本的中间。

在花了相当多的时间搜索网络后,我似乎无法找到任何人做任何类似的事情。

基于我读过的一些教程,我想也许有一种方法可以创建一个由一堆UILabel组成的子视图,这些UILabel是UIView的子视图(我们称之为_tabularView)我可以在UITextView上面进行布局。然后,我可以以某种方式将_tabularView的帧定位到UITextView中应该是的字符范围。然后我可以使用排除路径来防止文本进入视图。我唯一的问题是我不确定如何做到这一点,我也担心它不会滚动其余的内容。

我的问题是,是否有人对如何完成此操作提出任何建议或建议更好地在UITextView中嵌入表格。

2 个答案:

答案 0 :(得分:3)

一种简单的可能性是使用UIWebView而不是UITextView。用户无论如何都无法编辑表格,所以如果整个文本视图不可编辑,这是一个简单的选择。

如果文本视图 是可编辑的,则将表格绘制到图像上下文中并在文本视图中包含图像内嵌(仅限iOS 7,因为它为您提供了文本的全部功能工具包)。该表仍然不可编辑,因为它是一个图像。但这不应该打扰你,因为你建议的标签也不可编辑。

我还应该提一下,如果文本都很短(基本上是单个单词),如果你不想绘制网格线,你可以用标签(另一个新的iOS 7功能)来做。

答案 1 :(得分:0)

您可以通过以下方式解决问题:

  • 使用自定义库显示网格可能会有点过分,但请尝试 AQGridView
  • 您可以根据网格使用滚动视图和标签自行制作自定义UI。类似的SO帖子 here
  • 正如Matt在回答中所说,使用 UIWebView 可能是最干净的解决方案,因为您可以在html中显示您的表格。
  • 最后,表格的内嵌图像选项。首先在UIView(屏幕外)中创建数据表,然后将快照拍摄到可以内联添加的UIImage Here 是SO的帖子。