iOS - UIImage + UILabel约束冲突UITableViewCell

时间:2016-03-29 16:52:07

标签: ios uitableview nslayoutconstraint

在我的应用中,我使用UITableView为用户显示文章。我有两种UITableViewCells;一篇文章没有图像,另一篇文章有​​图像。

两种类型的UITableViewCells都有标题UILabel和说明UILabel。我将标题numberOfLines的{​​{1}}设置为0,因为某篇文章标题可能很长或很短。这是UILabel高度的决定因素,因为我正在使用UITableViewCell

如果文章没有这样的图像,它会完美地显示出来:

enter image description here

然而,在文章有图像的情况下,它不能正常工作。这些是我的UITableViewAutomaticDimension

文章图片视图

  • 距离单元格的右侧,顶部和底部0像素

  • 90像素的宽度约束

标题标签

  • UIConstraints为0

  • 单元格顶部和左侧8个像素

  • 文章图片视图左侧8个像素

描述标签

  • numberOfLines是1

  • 单元格左侧8个像素

  • 标题标签底部0像素

  • 文章图片视图左侧8个像素

  • 距离单元格底部8个像素

它显示如下:

enter image description here

这非常令人沮丧,因为我的约束看起来很合理,可以正确地完成工作。

我需要我的布局看起来像Pocket应用程序是这样做的:

enter image description here

关于我做错的任何想法?任何帮助或建议将不胜感激。感谢。

***** UPDATE *****

根据@kirander的建议,我已将numberOfLines的内容抗压优先级更改为250,这有助于我获得此结果:

enter image description here

有没有办法最小化标题标签中的剩余空间?我需要标题标签的高度仅适用于所有文本适合的位置,而不是更多的像素。

1 个答案:

答案 0 :(得分:0)

我最终在kirander和Mike Taverne的帮助下解决了这个问题。如果你需要一个类似于此的紧凑设计,这些是我想要的限制因素:

文章图片视图

  • 距离单元格的右侧,顶部和底部0像素

  • 90像素的宽度约束

  • 内容抗压缩优先级 - > 250

标题标签

  • numberOfLines为0

  • 单元格顶部和左侧8个像素

  • 文章图片视图左侧8个像素

描述标签

  • numberOfLines是1

  • 单元格左侧8个像素

  • 标题标签底部有0个像素(我在原始问题中提到过这个问题,但事实证明我没有这个...纠正让我朝着我的解决方案前进的方式)

  • 文章图片视图左侧8个像素

  • 距离单元格底部8个像素

这些限制给了我以下严格的设计:

enter image description here