UITableview单元格内的UILabel,自动布局填充问题



我在故事板上有以下UITableViewCell原型。

https://i.stack.imgur.com/FhF5y.png

它有三个常数,左、上和右距超级视图的距离。UIlabel的行数=0

当我将文本分配给UILabel时,我在一些UILabel上有不需要的顶部填充。例如,屏幕截图上的第一个单元格。如何使文本始终顶部对齐?

https://i.stack.imgur.com/hjwmp.png

我自己解决了这个问题。似乎自动布局没有更新标签preferredMaxLayoutWidth,所以这将导致不正确的格式。例如,当你改变方向时。

因此,为了解决这个问题,我将UILabel子类化并覆盖layoutSubviews

- (void) layoutSubviews {
    [super layoutSubviews];
    self.preferredMaxLayoutWidth = self.bounds.size.width;
}

最新更新