iOS - UITableViewCell 中的 UIImage + UILabel 约束冲突

iOS - UIImage + UILabel Constraint Conflict In UITableViewCell

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

两种类型的 UITableViewCells 都有标题 UILabel 和描述 UILabel。我将标题 UILabelnumberOfLines 设置为 0,因为某些文章标题可长可短。这是 UITableViewCell 高度的决定因素,因为我使用的是 UITableViewAutomaticDimension

在文章没有图像的情况下完美显示,如下所示:

但是,如果某篇文章有图片,它就无法正常工作。这些是我的 UIConstraints:

文章图片查看

标题标签

描述标签

显示如下:

这非常令人沮丧,因为我的约束条件看起来足够合乎逻辑,可以正确地完成工作。

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

对我做错了什么有什么想法吗?任何帮助或建议将不胜感激。谢谢。

*****更新*****

根据@kirander 的建议,我将 UIIMageView 的内容压缩阻力优先级更改为 250,这帮助我得到了这个结果:

有什么方法可以减少标题标签中剩余的 space 吗?我需要标题标签的高度仅能容纳所有文本,而不是多一个像素。

我最终在 kirander 和 Mike Taverne 的帮助下解决了这个问题。如果您需要与此类似的紧凑设计,这些限制条件让我得到了我想要的东西:

文章图片查看

  • 距单元格右侧、顶部和底部 0 像素

  • 宽度限制为 90 像素

  • 内容压缩阻力优先级 -> 250

标题标签

  • numberOfLines 为 0

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

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

描述标签

  • numberOfLines 为 1

  • 距单元格左侧 8 个像素

  • 距标题标签底部 0 像素(我在最初的问题中提到了这一点,但事实证明我没有...更正这让我转向了我的解决方案)

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

  • 距单元格底部 8 像素

这些约束给了我以下紧凑的设计: