UIStackView中的标签对齐

时间:2017-08-25 08:54:34

标签: ios uilabel uistackview

UIStackView有2 UILabel s。

# [LeftLabel: can be very long, lines = 0][RightLabel: text = NEW, width >= 30]

在大多数情况下,RightLabel可以隐藏,因此如果UIStackView被隐藏,我选择LeftLabel自动使UIStackView宽度适合RightLabel。< / p>

因此,如果RightLabel可见,我需要根据LeftLabel文字对其进行定位。

我想要这个

如果LeftLabel.text = "Short"

# [LeftLabel: Short][RightLabel: NEW (take rest of the space)]

否则LeftLabel.text = "Very very long description"

# [LeftLabel: Very very       ][RightLabel: NEW         ]
# [           long description][(take rest of the space)]

但我得

如果UIStackView发布= fill

# [LeftLabel][RightLabel] # Both take 1/2 of `UIStackView` width

如果UIStackView发布= fillProportionally

# [       LeftLabel         ][RightLabel]
# RightLabel.width becomes 30, and LeftLabel takes the rest

我试图制作leftLabel.sizeToFit()等等,尝试使用两个标签的拥抱和压缩,但它没有帮助。我不确定,如果这一切在UIStackView中都有意义。

是否可以使用UIStackView获取此行为,或者我需要使用UIView并使用约束定位标签?

感谢您的帮助!

0 个答案:

没有答案