我有一个 UILabel,它设置为 42.0 pt 字体,并且标签的宽度是使用基于标签本身以外的因素的自动约束设置的(也就是标签右侧和左侧的内容决定标签的宽度)。
我想自动调整字体大小以适应标签的宽度,但也可以的话分成两行。与此类似:
我知道您可以调整字体大小以适应标签的宽度,但前提是行数设置为 1。
我将如何实现这个目标?
这会起作用..
- Set 最小比例因子为你的标签。如该图所示。
- Set 调整字体大小以适合宽度 to true
- 设置行数 = 2 // 如果您想要更多行数,则设置为零 (0)
- 将 2 行的换行模式设置为“.byTruncatingTail”
Swift 5
将动态文本信息的行数设置为零,这对于改变文本很有用。
var label = UILabel()
let stringValue = "A label\nwith\nmultiline text."
label.text = stringValue
label.numberOfLines = 2 // 0
label.lineBreakMode = .byTruncatingTail // or .byWrappingWord
label.minimumScaleFactor = 0.5 // It is not required but nice to have a minimum scale factor to fit text into label frame
label.adjustsFontSizeToFitWidth = true //needed in Swift 5
另外,请勿为标签设置超过 2 行的高度限制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)