【发布时间】:2018-02-07 15:43:12
【问题描述】:
我有一个“主”UITableView,我在其中使用从 .xib 加载的不同单元格。其中一些单元格本身也有一个 UITableView。
现在我已将每个单元格的行高设置为原始 xib 大小。但是,我希望高度动态并与“子”UITableView 中的行数相对应。
我遇到了以下问题:
- 加载 ViewController 后,主 UITableView 需要为其拥有的每个单元格设置一个高度。
- 当需要这个高度时,子 UITableView 还没有加载自己的单元格,因此还不是合适的大小。
我尝试了以下方法:
- 首先,使用“估计”高度加载单元格
- 单元格加载自己的tableView并调用刷新主tableView
但是,在这种情况下,单元格将使用“估计的”高度来布置自己的行。因此它总是太大或太小。
我该如何解决这个问题?
【问题讨论】:
-
为什么要使用嵌套表视图?您可以拥有一个具有多种单元格类型的主 UITableView,并拥有一个代表您想要的行为的数据模型。嵌套的 tableViews 总是很难处理...
-
但对于自动高度单元格,请查看此链接:raywenderlich.com/129059/self-sizing-table-view-cells
-
不仅仅是“难以处理”,直接建议不要使用嵌套表视图。任何时候你有嵌套视图竞争手势识别器,即表格拖动,你有一个 UI 灾难的秘诀。我所见过的大量使用的应用程序都没有嵌套表视图。利用分段并考虑显示数据的其他方式。
-
我使用了嵌套的 TableViews,因为有些部分更适合它们自己的 xib,而不是单元格中的所有内容。有一些相当复杂的动画正在进行。
标签: ios uitableview