[英]Vertically align labels with different font sizes, Swift
我想垂直对齐具有不同字体大小的标签,以使它们看起来位于相同的基线上。
在这种情况下,我在stackview中嵌入了三个标签,如下图所示。 数字30似乎与基线明显偏离,而文字“ In”和“ MINUTES”也似乎偏离了基线,但并不明显。 我怎样才能使三个人都坐在同一基线上?
我正在以编程方式创建标签和堆栈视图,如下所示:
var timeStackView : UIStackView!
var timeIndication : UILabel!
var time : UILabel!
var unitsOrTimeZone : UILabel!
timeStackView = UIStackView()
timeStackView.addArrangedSubview(timeIndication)
timeStackView.addArrangedSubview(time)
timeStackView.addArrangedSubview(unitsOrTimeZone)
timeStackView.alignment = .bottom // bottom alignment
timeStackView.axis = .horizontal
timeStackView.distribution = .equalSpacing
timeStackView.spacing = 10.0
所有三个标签的创建方式如下所示,但文本不同:
timeIndication = UILabel()
timeIndication.textAlignment = .center
timeIndication.text = "In"
timeIndication.font = timeIndication.font.withSize(14)
timeIndication.baselineAdjustment = .alignBaselines // baselineAdjustment
我尝试过timeStackView.alignment = .bottom
和timeIndication.baselineAdjustment = .alignBaselines
,但是它们似乎不起作用。
我没有尝试过,但是根据UIStackView
文档,您应该将堆栈视图的对齐方式设置为.lastBaseline
或.firstBaseline
,具体取决于您希望如何处理多行标签。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.