ScrollView 自动布局内的 TableViews
Posted
技术标签:
【中文标题】ScrollView 自动布局内的 TableViews【英文标题】:TableViews inside ScrollView Autolayout 【发布时间】:2017-04-14 11:14:27 【问题描述】:我正在尝试创建一个包含许多子视图并且可以包含许多表视图的视图。
需要启用所有子视图的滚动。 实际上我创建了滚动视图并将其放入 superView。然后我将所有视图放入该滚动条中,但在使用 AutoLayout 将表格视图放入该滚动条中时遇到了很多问题。我不想在 tableViews 中滚动,我只需要启用我创建的每个 tableView 的点击。我想听听您的所有建议,如何轻松创建此视图。
【问题讨论】:
【参考方案1】:滚动视图内部的滚动视图很难处理。也许值得通过结合内容重新设计您的数据模型?
例如(假设每张表包含2个Label)
图像 -> A OR TableHeader 类型的行单元格 0 标签 -> B 型行单元格 1 标签 -> B 型行单元格 2 标签 -> B 型行单元格 3 标签 -> B 型行单元格 4 表 1 标签 1 -> C 类型的行单元格 5 表 1 标签 2 -> C 类型的行单元格 6 标签 -> B 型行单元格 7 表 2 标签 1 -> C 类型的行单元格 8 表 2 标签 2 -> C 类型的行单元格 9 标签 -> B 型行单元格 10 表 3 标签 1 -> C 类型的行单元格 11 表 3 标签 2 -> C 型行单元格 12 ... 按钮 -> D OR TableFooter 类型的行单元格 n现在您可以像普通表格一样填满表格,无需特殊解决方案。
【讨论】:
另一个滚动视图的问题是它的内容高度不再灵活。假设外部滚动视图有一个内容高度 = 屏幕高度,内部滚动视图不知道它。因此,您必须将内部滚动视图高度定义为最大内容高度。单元格加载机制知道即使只需要显示 1pt 高度也必须加载整个表格。因此,您失去了重用加载的优势。 @codealchmist 是的,这就是我要求另一种解决方案的原因 感谢您的建议,我会尝试您的解决方案并给予答复! :) @codealchmist 假设 tableview 在 tableview 中的行为方式。我的意思是它就像把滚动视图放在另一个滚动视图中,所以你不建议这样做。以上是关于ScrollView 自动布局内的 TableViews的主要内容,如果未能解决你的问题,请参考以下文章
带有自动布局的滚动视图内的iOS 8 imageView不起作用