此属性仅在 iOS 10+操作系统中有效。什么是replace属性的替代解决方案。
Apple documentation for Objective C
@property(nonatomic) BOOL adjustsFontForContentSizeCategory;
Apple documentation for Swift
var adjustsFontForContentSizeCategory: Bool { get set }
当我们在较低版本中打开的应用程序崩溃时,此属性在较低版本中不起作用。
最佳答案
在Swift 3中,在10之前的iOS版本中,为了在用户更改其首选字体大小时更新字体,我们必须执行以下操作:
class ViewController: UIViewController {
@IBOutlet weak var dynamicTextLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
dynamicTextLabel.font = .preferredFont(forTextStyle: .body)
NotificationCenter.default.addObserver(forName: .UIContentSizeCategoryDidChange, object: nil, queue: .main) { [weak self] notification in
self?.dynamicTextLabel.font = .preferredFont(forTextStyle: .body)
}
}
deinit {
NotificationCenter.default.removeObserver(self, name: .UIContentSizeCategoryDidChange, object: nil)
}
}