1

我的项目包括在 UITextView 中显示文档。大部分文档都是非常直接的属性文本,我可以正常工作。文档的其他部分由普通文本组成,然后是一个 3 列的表格,其中 2 或 3 行基本上就在普通文本的中间。

在花了相当多的时间搜索网络之后,我似乎找不到任何关于任何人做这样的事情的参考。

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

我的问题是,是否有人对如何完成此任务有任何建议,或者对将表格嵌入 UITextView 的更好方法提出建议。

4

2 回答 2

3

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

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

我还应该提到,如果文本都很短(基本上是单个单词)并且如果您不想绘制网格线,则可以使用选项卡(iOS 7 的另一个新功能)来完成。

于 2014-03-01T15:40:44.373 回答
0

以下是您解决问题的一些可能性:

  • 也许使用自定义库来显示网格会有点过分,但试试AQGridView
  • 您可以根据网格使用滚动视图和标签自己制作自定义 UI。类似的SO帖子在这里
  • 正如马特在他的回答中所说,使用 aUIWebView可能是最干净的解决方案,因为您可以在 html 中显示您的表格。
  • 最后,表格的内联图像选项。首先在UIView(屏幕外)中制作数据表,然后将快照放入UIImage您可以内联添加的 a 中。是一个SO帖子。
于 2014-03-01T15:49:22.207 回答