如何使用 autolayout/storyboard 截断 UIImage 旁边的 UILabel?

How can I truncate a UILabel next to a UIImage using autolayout/storyboard?

我在 UIImage 旁边有一个 UILabel,如果它开始与相邻的 UIImage 重叠,我希望 UILabel 显示为截断的“...”。

当我想让它截断时,文本在 UIImage 后面:

我的 UILabel 属性:

我的图像属性:

我认为问题出在内容压缩上,但我将 UILabel 的内容抗压缩优先级水平设置为 250,将 UIImage 设置为 1000。这只会将 UILabel 隐藏在 UIImage 后面。

*这是在 table 单元格内。我没有使用默认的 table 单元格视图,因为我打算进一步自定义它。

添加从 UILable 到 UIImage 的尾随常数值 5 且关系小于等于 (<=)。

可以做三件事。

  1. 为图像视图的标签提供尾随 space。这将确保标签在文本增长时始终被截断。
  2. 为单元格内容视图的标签提供尾随 space,并将约束常量设置为图像视图加上边距(如果有)。
  3. 保持当前配置,但采用 IBOutlet 并将其首选宽度(位于导航器的倒数第二个选项卡中)设置为屏幕宽度减去图像宽度。这将确保您的标签随文本一起增长,但绝不会超过图像。

在以下之间添加约束:

1) UIImage 和 table 单元格(容器视图)

2) UILabel 和 UIImage

3) 最后是 tableCell 和 UILabel

之间的一个

这样您的 UILabel 就会从单元格的左侧一直延伸到图像视图,并截断不适合标签的文本。