Ios 垂直对齐不同字体大小的标签,Swift
我想垂直对齐不同字体大小的标签,以便它们显示在公共基线上 在本例中,我在stackview中嵌入了三个标签,如下图所示。数字30似乎明显偏离基线,而文本“In”和“MINUTES”似乎也偏离基线,但不显著。我怎样才能让这三个人坐在同一条底线上 我正在以编程方式创建标签和堆栈视图,如下所示:Ios 垂直对齐不同字体大小的标签,Swift,ios,swift,uilabel,Ios,Swift,Uilabel,我想垂直对齐不同字体大小的标签,以便它们显示在公共基线上 在本例中,我在stackview中嵌入了三个标签,如下图所示。数字30似乎明显偏离基线,而文本“In”和“MINUTES”似乎也偏离基线,但不显著。我怎样才能让这三个人坐在同一条底线上 我正在以编程方式创建标签和堆栈视图,如下所示: var timeStackView : UIStackView! var timeIndication : UILabel! var time
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
文档,应该将堆栈视图的对齐设置为或.firstBaseline
,取决于您希望如何处理多行标签。y您不使用attributedText
。这样您可以将不同大小文本的全文放在同一UILabel
中,我正在通过编程更改文本标签的文本,我不确定是否可以对AttributedText执行相同的操作,然后使用MutableAttributedString
并创建一个可以传递三个字符串的函数。。。并在MutableAttributedString
中追加。将追加的AttributedString
用于urUILabel