首页 > 解决方案 > 如何水平对齐两个 UILabel(具有固定和可变宽度)

问题描述

我一直面临水平对齐两个 UILabel 和一个 UIImageView 的问题,如下所示:

在此处输入图像描述

在此处输入图像描述

第一个标签的宽度可变,如果很长,可以截断。第二个标签的宽度是固定的,它应该总是对齐到 UIImageView 的右边。它永远不应该离开屏幕。UIImageView 与第一个标签的右侧对齐。

我尝试将它们嵌入水平 UIStackView 但图像+第二个标签始终与单元格末尾对齐。尝试不使用 UIStackView 时遇到同样的问题。请帮忙。

标签: iosstoryboardxibuistackview

解决方案


您可以将标签和水平 StackView 嵌入到另一个水平堆栈视图中。然后,您需要将动态宽度标签的Content Compression Resistance Priority(您可以在 Size Inspector 的底部找到此属性)设置为更小以使其缩小。

然后在容器 StackView (包含所有视图的那个)上,您需要将约束设置为顶部,底部,导致 0 到超级视图,并且尾随大于或等于 0,以便它不占用所有超级视图的空间,但如果内容太宽,同时不会得到偏移。

截断 :abel 非截断标签

我希望这足够清楚!


推荐阅读