Autolayout导致UILabel使用不需要的填充调整大小

时间:2015-02-04 16:39:07

标签: ios objective-c iphone autolayout uilabel

我有一个自定义的UITableViewCell,左边有一个图像,右边有两个UILabel。第一个标签的上边缘与图像的顶部水平对齐,第二个标签的下边缘与图像的底部对齐。

第二个标签显示更大的内容,我希望它可以垂直调整大小以显示更多内容,但它不应该干扰顶部标签(为此我设置了一个垂直间距约束)顶部标签和内容标签)。

enter image description here

“内容”标签的首选宽度设置为“自动”,其内容拥抱优先级设置为高于垂直间距约束。它具有较低的内容抗压缩优先级。

如果我放入一些需要显示多行的文本,Content标签将调整大小并且不会干扰顶部标签,但它会在标签的顶部和底部添加这种奇怪的填充。

enter image description here

enter image description here

如果我删除两个标签之间的垂直间距约束,则填充将消失,但内容标签会覆盖顶部标签。

有没有办法解决这个问题,以便Content标签的底部与图像的底部对齐,并在不添加这些填充的情况下调整大小?

1 个答案:

答案 0 :(得分:-1)

尝试使用像Masonry这样的库以编程方式实现约束。您可以更好地控制UI元素,更好地理解约束的工作方式。