在iOS 14或之前,如果我们想设置一个
titleLabel's
属性,我们可以简单地使用
button.titleLabel?.lineBreakMode = .byTruncatingTail
或缩小标题文字:
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.minimumScaleFactor = 0.5
但是更新到iOS 15最新的API后
UIButton.Configuration
,上面的代码就不行了,按钮只是扩大了高度,这绝对不是我想要的方式,请看下面:
在使用 iOS 15
lineBreakMode
时,是否有任何解决方案可以恢复minimumScaleFactor
或UIButton.Configuration
?
从 Xcode 14.3 beta 1 开始,新属性 titleLineBreakMode 已添加到
UIButton.Configuration
,这正是我们想要的。
var config = UIButton.Configuration.filled()
config.titleLineBreakMode = .byTruncatingTail
button.configuration = config
// also adjust font size is working properly
button.titleLabel?.minimumScaleFactor = 0.5
button.titleLabel?.adjustsFontSizeToFitWidth = true