adjustsFontSizeToFitWidth在iOS14中不起作用

Aaron升IP属地: 浙江
0.215字数 222阅读 2,149

adjustsFontSizeToFitWidth我们都清楚,默认为false,如果设为true,如果文本超过Label的宽度,则文本将自动缩放字体大小,最小缩放比例不小于minimumScaleFactor的值。
minimumScaleFactor默认为0,正常情况下我们只需设置adjustsFontSizeToFitWidth = true即可在文本超过Label宽度时自动缩小。

但实际开发中在iOS14、iOS14.2的设备上偶然发现单独adjustsFontSizeToFitWidth = true可能不起作用。(iOS12、iOS13、iOS14.5、iOS15中无问题,由于设备有限,无法确认所有存在问题的iOS版本范围)

override func viewDidLoad() {
    super.viewDidLoad()
    
    let label1 = UILabel(frame: .init(x: 100, y: 100, width: 45, height: 14))
    label1.font = .systemFont(ofSize: 12)
    label1.text = "76.09亿"
    label1.adjustsFontSizeToFitWidth = true

    let label2 = UILabel(frame: .init(x: 200, y: 100, width: 45, height: 14))
    label2.font = .systemFont(ofSize: 12)
    label2.text = "76.09亿"
    label2.adjustsFontSizeToFitWidth = true
    label2.minimumScaleFactor = 0.1
    
    self.view.addSubview(label1)
    self.view.addSubview(label2)
}

iOS14设备效果如下,左边的label没有设置minimumScaleFactor = 0.1,文本显示不全,如下图所示:

不知道这是不是苹果的bug,有更加权威的解释,欢迎评论区留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
2人点赞
更多精彩内容,就在简书APP
"小礼物走一走,来简书关注我"
还没有人赞赏,支持一下
总资产8共写了5.3W字获得127个赞共41个粉丝

推荐阅读更多精彩内容