adjustsFontSizeToFitWidth在iOS14中不起作用

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,有更加权威的解释,欢迎评论区留言。

你可能感兴趣的:(adjustsFontSizeToFitWidth在iOS14中不起作用)