簡體   English   中英

文本在UILabel中不是垂直居中的

[英]Text not vertically centered in UILabel

我用以下代碼創建了一個Label:

func setupValueLabel() {
    valueLabel.numberOfLines = 1
    valueLabel.font = UIFont(name: "Avenir-Black", size: 50)
    valueLabel.adjustsFontSizeToFitWidth = true
    valueLabel.clipsToBounds = true
    valueLabel.backgroundColor = UIColor.greenColor()
    valueLabel.textColor = valuesColor
    valueLabel.textAlignment = NSTextAlignment.Center
}

我真的不明白為什么但標簽不是垂直居中的: 標簽不居中

我是否必須做任何特定的事情才能使它居中?

問題是adjustsFontSizeToFitWidth = true會縮小字體大小,但它不會自動調整lineHeight 它仍然是50原始字體大小。

默認情況下,文本與其基線對齊。 您可以使用baselineAdjustment屬性進行調整。

在您的情況下,您應將其設置為UIBaselineAdjustment.alignCenters

valueLabel.baselineAdjustment = .alignCenters

感謝@rintaro,它終於有效了。

對我的情況還有一件事,它沒有用,因為我正在設置ByWordWrapping 我必須將lineBreakMode設置為ByClipping

暫無
暫無

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

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