【发布时间】:2018-12-08 21:18:18
【问题描述】:
我以编程方式创建标签。它总是有两条线。但是,这两行的字体大小会发生变化。因此,标签的高度和宽度将不得不改变。我尝试使用 sizeToFit 来做到这一点。然而,第二个词(“日”)仅部分显示。单词的底部被切断。好像 sizeToFit 无法识别文本实际上是两行。就好像 sizeToFit 正在调整标签的大小以适合一行。我该如何解决这个问题?谢谢。
let screenWidth = UIScreen.main.bounds.width
let screenWidthHalf = screenWidth/2.0
let screenHeight = UIScreen.main.bounds.height
myLabel = UILabel()
myLabel.text = "Good \n Day"
myLabel.textAlignment = .center
let myLabelFontSize = 12.0*screenHeight/667
let myLabelFont = UIFont.systemFont(ofSize: myLabelFontSize)
myLabel.font = myLabelFont
myLabel.numberOfLines = 0
myLabel.sizeToFit()
let myLabelWidth = myLabel.frame.width
let myLabelWidthHalf = myLabelWidth/2.0
let myLabelX = screenWidthHalf - myLabelWidthHalf
let myLabelY = 142.5
myLabel.frame.origin.x = myLabelX
myLabel.frame.origin.y = myLabelY
scrollView.addSubview(myLabel)
【问题讨论】:
-
您的标签代码在操场上很适合我。
"Day"不适合我。但我没有将它添加到滚动视图中,只是查看生成的标签。 -
我尝试将标签插入到滚动视图中,它显示正确。如果“Day”一词在第二行部分可见,则 UILabel 似乎将其理解为一个双行短语。标签是否可能被滚动视图剪切?
标签: ios swift label uilabel sizetofit