【发布时间】:2019-05-26 14:35:13
【问题描述】:
我有一个自定义 UILabel 类,它使用用户通过设置>常规>辅助功能>更大文本选择的字体度量和大小自动缩放字体:
import UIKit
class AccessibilityLabel: UILabel {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
font = UIFontMetrics.default.scaledFont(for: font)
adjustsFontForContentSizeCategory = true
}
}
在我们现有的相当大的项目中,这很有效。
它不起作用的地方是代码中设置字体的地方。当在代码中设置字体时,它会删除缩放。我们可以检查并更改我们设置字体以缩放它的所有代码。也许这是最好/唯一的方法。
但我想知道是否有人知道我可以覆盖 UILabel 的 font 属性的方法,以便在尚未缩放时对其进行缩放,因此不会创建无限循环。基本上,我们不必通过现有代码并更新多个位置的一些解决方案。只需在一处(在 UILabel 中)进行更改。
谢谢!
【问题讨论】:
标签: ios swift uilabel dynamic-type-feature