[英]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.