提问者:小点点

iOS自动布局:表格视图单元格的动态高度


我有一个带有一堆单元格的表视图(自定义单元格,它只有它的内容视图)。

中,我正在向自定义单元格的content视图添加一个预定义的UIView(它有几个子视图)。我之前为UIView及其子视图设置了所有约束。

最后但并非最不重要的是,我为我的自定义单元格的内容视图(superview)和UIView设置了垂直和水平约束,UIView是在(subview)之前添加的。

约束字符串如下所示:

    H:|[view]|
    V:|[view]|

不幸的是,我仍然得到所有表格视图单元格的默认高度。我想知道是否有一种方法,让自动布局做计算高度自动根据内容大小。


共3个答案

匿名用户

查看我对这个问题的详细回答:https://stackoverflow.com/a/18746930/796419

这需要一些工作来进行设置,但是您绝对可以使用自动布局约束来驱动完全动态的表视图,而不需要一个硬编码的高度(并且让约束求解器来完成繁重的任务并为您提供行高度)。

匿名用户

自动布局对单元格高度没有帮助。您需要在中进行设置。我猜你这样问可能是因为你的细胞高度是可变的,而不是固定的。也就是说,它们取决于内容。

要解决这个问题,请预先计算单元格高度并将其存储在数组中。返回方法中相应的的值。

确保使用类的等计算主线程上的内容大小。

如果您的计算是密集的,那么除了等与视图相关的方法外,大部分计算都由完成。

匿名用户

我通过在中使用解决了这个问题。