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

问题描述 投票:3回答:3

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

enter image description here

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

ios swift uilabel uistackview
3个回答
2
投票

您需要在VERTICAL Stack视图中检查BaseLine Relative属性

enter image description here

对于水平stackview

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

enter image description here

如果你想知道基线这里是一个很好的解释https://stackoverflow.com/a/24541992/4601900

希望它对你有所帮助


1
投票

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

enter image description here


0
投票

UIStackView

qazxsw poi:它对齐组件的底部,即qazxsw poi,qazxsw poi等的盒子。

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

有关底部和基线的更清晰,请参阅:UILabel

UITextField提供2个选项来对齐基线,

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

你可以在这里找到两个选项的一个很好的解释:baseline aligmnent

现在因为你的https://stackoverflow.com/a/24541992/5716829只包含单行文本,所以第一个和最后一个基线都可以相同。

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

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

https://stackoverflow.com/a/33934323/5716829

© www.soinside.com 2019 - 2024. All rights reserved.