此属性仅在 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)
    }
}

09-10 19:43