让 UITableViewCell 使用自动布局调整自身大小

2023-12-05

我有 3 个标签UITableViewCell并设置标签,以便它们自动换行。如果自动换行,文本将进入下一个单元格。如何让 AutoLayout 根据内容展开单元格,而无需在中编写代码heightForRowAtIndex方法?是否没有一个约束可以用来根据 contentView 自动调整单元格?

enter image description here enter image description here

如果文本没有在标签中换行,则单元格看起来很好。一旦它换行,问题就发生了,我希望调整单元格大小以适应内容,并且底部标签和底部之间的间距与顶部标签和顶部标签之间的间距相同。


不幸的是,不,你不能这样做。表视图首先计算自己的总高度,并且在加载时对每个单元格的大小有一个固定的概念,它不会确定从外到内的高度,也不会让布局约束改变单元格的高度。

如果您考虑表格如何工作以及单元格重用,那么如果不加载每个单元格并将其添加到滚动视图并对整个事物执行布局传递,您就无法真正从单元格中调整表格的大小。这可能会导致性能相当差。

您可以尝试填充一个“空闲”单元格(即您刚刚实例化的单元格,未添加到表中),并在计算 heightForRow 时为数据源中的每一行进行布局。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让 UITableViewCell 使用自动布局调整自身大小 的相关文章

随机推荐