簡體   English   中英

使用不同字體大小垂直對齊標簽,Swift

[英]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 = .bottomtimeIndication.baselineAdjustment = .alignBaselines ,但是它們似乎不起作用。

我沒有嘗試過,但是根據UIStackView文檔,您應該將堆棧視圖的對齊方式設置為.lastBaseline.firstBaseline ,具體取決於您希望如何處理多行標簽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM