如何在使用tableViews自定义单元格时在运行时更改表视图单元格高度?

时间:2017-12-16 14:00:55

标签: ios swift uitableview uicollectionview

我有主tableView M ,其中 X 单元格数,每个 x 都有子tableView S N 细胞数量。 我使用 estimatedRowHeight UITableViewAutomaticDimension 来创建动态单元格高度。 问题是,如何强制 M 表格视图重新布局并更改 x 单元格的高度以适应 S tableView的内容大小在运行时?

here is an image of what i want to implement

2 个答案:

答案 0 :(得分:0)

我认为您需要在表格视图M中手动计算每个单元格(每个X单元格)的高度。首先在每个X单元格中查找tableView S的高度。

计算TableView S的高度:

高度=细胞数*每个细胞的高度(N)

X格的高度=高度

注意:这里你提到你也在使用UITableViewAutomaticDimension for tableView S.因此,您需要根据其中的内容找到每个单元格N的高度。 E,g:如果要在单元格N中加载字符串,只需根据字符串长度计算标签高度,然后通过添加适当的间距高度和标签高度来提供单元格N高度。

感谢。

答案 1 :(得分:0)

你必须在表格视图M中手动计算每个单元格的高度,然后找出tableView S的高度与N个单元格的高度。

  1. 获取S的tableview.contentSize.height
  2. 将此contentSize提供给M的单元格X。
  3. 现在获取M的tableview.contentSize.height
  4. 制作两个单独的方法,通过单元格获取tableview的高度,并将它们写入tableview的“cellAtRow”委托中。 (制作自动布局的高度约束的iboutlet)。只需在运行时需要更改表重新加载表。