滚动后,多线UILabel底部被切断,UITableViewCell - > UIStackView - >的UILabel

时间:2017-08-18 06:03:49

标签: ios swift uilabel uistackview xcode9-beta

图层:UITableViewCell - > UIStackView - > UILabel,表格高度设置为自动尺寸。

enter image description here

运行它,一切都很好

enter image description here

在一些滚动之后,多线标签的底部被切断

enter image description here

UILabel和堆栈视图设置:

enter image description here enter image description here

为堆栈视图布置约束:

enter image description here

我试图将换行设置为自动换行,在标签上调用sizeToFit,它们都不适合我。有线索吗?

2 个答案:

答案 0 :(得分:1)

由于问题是由于滚动而发生的,因此这似乎是与TableView在滚动时重用单元格有关的问题。因此,重置您正在使用的单元格的所有值(包括维数,如果有的话)。滚动时,当前单元格内容将显示在其他一些正在重用的单元格中。

答案 1 :(得分:0)

我过去解决过这类问题的一种方法是将UILabel作为容器视图放在UIView中。然后将此容器放在UIStackView中,而不是将标签直接放在堆栈视图中。

您还可以尝试使用压缩电阻优先级,因为标签似乎在缩小,因为它的抗压性不够高。