如何对齐水平 UIStackView 中两个标签的底部?

How do I align the bottoms of two labels in a horizontal UIStackView?

我在水平方向上有两个标签 UIStackView。 Label 1 是大字体(闹钟时间),Label 2 是小字体(AM/PM 指标),我想对齐每个标签的底部。

我将堆栈视图的对齐方式设置为底部,但它似乎只是对齐标签总区域的底部,而不是实际文本。结果是较小字体的底边比大标签的底边高出大约 3 或 4 个像素。我该如何解决这个问题?

您需要检查 VERTICAL 堆栈中的 BaseLine Relative 属性 查看

对于水平stackview

您需要将对齐方式从填充模式更改为 First baselineLast baseline

如果您想了解基线,这里有很好的解释

希望对您有所帮助

将 stackView 的对齐方式更改为“Last BaseLine”,以实现相同的效果。

UIStackView,

bottom alignment:它对齐组件的底部,即 UILabelUITextField 等的框

baseline aligmnent: 要对齐文本的底部,您需要使用基线。

要更清楚地了解底部和基线,请参阅:

UIStackView 提供了 2 个对齐基线的选项,

  1. 第一个基线
  2. 最后一个基线

您可以在此处找到对这两个选项的很好解释:

现在,由于您的 UILabels 仅包含单行文本,因此第一个和最后一个基线将相同。

如果您有多行标签,并且您想要对齐其文本的底部,请使用 Last Baseline

这是视图层次结构的屏幕截图: