根据`UITableViewCell`

时间:2017-06-20 09:55:04

标签: ios uitableview autolayout

在我的UITableViewCellUIView有宽度约束,在其中有图像和UILabel

3 个答案:

答案 0 :(得分:1)

UIStackView内添加您的视图,在该视图中添加标签和imageView,并为label和imageView设置适当的约束。并删除所有用于计算大小的代码。

答案 1 :(得分:0)

使用UIStackView。你不必考虑任何事情。

enter image description here

enter image description here

答案 2 :(得分:0)

删除arrAlreadyChangeCellFrames。为一个对象设置一次的单元格可以为另一个对象重置,因此必须调整其大小。

Tableviews和Collectionview通过重用单元格来工作。因此,即使你滚动得非常快,内存中也只会有少量单元格。因此,有一条非常重要的规则要始终遵循cellForRowAtIndexPath每个如果必须有 else 。由于单元格可以重复使用,因此在一种情况下设置的任何内容都必须在另一种情况下取​​消设置。

此外,对于大多数布局,您不需要在文本更改时设置标签的宽度。只需将宽度设置为允许的最大大小,文本就会尽可能多地填充。