我有一个 UILabel
,我需要有一个特定的文字大小和框架宽度(匹配屏幕宽度) . 我希望能够设置标签's height to the minimum height that will fit all of the label'的文本而不切断它 .
我尝试过以下方法:
let label = UILabel()
label.text = longText
label.numberOfLines = 0
label.sizeToFit()
但是如果 longText
类似于 "This string is really long, longer than the screen width"
,这将无法工作,因为 sizeToFit
将整个字符串放在一行上,当文本达到屏幕宽度时,文本会被 ...
截断 .
然后,在调用 sizeToFit
之后,我尝试设置标签的宽度以匹配屏幕宽度 . 这样可以换行,但不会高度,所以在第一行之后字符串仍然会被切断 .
此外,设置 label.adjustsFontSizeToFitWidth = true
将不起作用,因为我需要标签具有特定的字体大小 .
我想要的是某种函数,比如 label.minimumHeightForWidth:
,我可以将 UIScreen.main.bounds.width
作为width参数传递,并获得一个高度,使得标签的文本在给定宽度参数所需的行数上方 . 有可能做这样的事吗?
1 回答
你可以试试