嵌套的全高度表视图,包含多个和可变高度单元格

时间:2017-09-27 13:24:19

标签: ios swift uitableview

问题示例:https://github.com/hecode/problem-example 使用下面提到的方法3 对不起匆忙的代码。

视图非常复杂,但我会尝试尽可能多地解释。 视图看起来像这样:

******full height parent table**************
    ******parent cell*************************
       * static content
       * variable height label
       *** full height inner tableview*****
          *** inner cell *****
          * static content
          * variable height label
          ********************
       ************************************
   *****************************************
********************************************

两个单元格的高度可变:

tableView.estimatedRowHeight = 90
tableView.rowHeight = UITableViewAutomaticDimension

并且两个tableviews都是全高。对于父级我在内容化上使用观察者并在那里更新它正常工作。

我目前的问题是内部单元格的tableview,其内容大小并没有返回正确的内容。

我试过了:

1.在contentize上使用观察者并将tableview的高度约束更改为新值 2.使用contentsize覆盖tableview的高度约束,覆盖layoutSubviews 3.改写tableview的高度约束覆盖willDisplay与最后一个单元格中的contentsize并使tableview的底部约束750而不是1000,如果它的1000然后剪切发生

前两种方法在大多数情况下导致剪裁,有时在底部会产生额外的可变大小空间。 第三种方法有额外的可变大小空间。

在第三种方法中,我尝试打印单元框架高度,并将它们与xcode uidebugger中的值进行比较,发现它们不同。

btw内部单元格从父表中获取数据,并且是内部tableview的委托和数据源

有人可以给我任何想法吗?有没有办法获得内部tableview的实际内容大小来设置表的高度约束?

删除高度约束并对父视图使用底部约束会导致剪切,并且有时也不会在所有时间都看到innertableview,因此使用高度约束将其设置为0,因为它不是'需要。

我正在使用ios10.3,swift 3

0 个答案:

没有答案