我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
并使用约束定位标签?
感谢您的帮助!