UILabel自动布局不正常工作

3
我在UITableViewCell中设置了一个UILabel,我想使UITableViewCell的高度动态变化,因此我添加了一些与UILabel相关的约束。当进入UIViewController时,标签和UITableViewCell的高度不正确,但是如果我将UITableViewCell滚动到屏幕外并将其滚回来,则它会正常工作,这很奇怪。

这是我的故事板中的约束:

enter image description here

当进入UIViewController时,TableViewCell中的UILabel:

enter image description here

应该是这样的:

enter image description here

我已经尝试添加以下代码(重写UILabel):

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

并将内容紧缩优先级设置为1000


你的目标平台是iOS8还是iOS7? - Gasim
无论是iOS7还是iOS8 - jansma
4个回答

0

这是因为您的标签高度大于其文本内容。如果您将其背景颜色设置为,则可以看到。不要将标签底部固定在单元格底部,否则会拉伸标签高度。

enter image description here

或者您可以尝试

[lable sizeToFit];

将字符串值设置到标签后,可能会解决问题。


0

0

你可以将你的约束连接到代码中作为IBOutlet。因此,只需尝试使用高度约束,该约束会随UITableViewCell高度在编程上进行更改。


0

将底部空间约束的优先级更改为“低”。它与内容紧缩发生冲突。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接