ios - adjustsFontForContentSizeCategory iOS 的替代方案是什么?

标签 ios objective-c swift

此属性仅适用于 iOS 10+ 操作系统什么是替换属性的替代解决方案。

Apple documentation for Objective C

  @property(nonatomic) BOOL adjustsFontForContentSizeCategory;

Apple documentation for Swift

var adjustsFontForContentSizeCategory: Bool { get set }

当我们在低版本应用程序中打开时崩溃时,此属性在低版本中不起作用。

最佳答案

在较低版本中,没有定义的属性,您必须以编程方式处理它,您必须监听字体更改的系统通知 - UIContentSizeCategoryDidChangeNotification

[[NSNotificationCenter defaultCenter] addObserver:self
      selector:@selector(didChangePreferredContentSize:)
          name:UIContentSizeCategoryDidChangeNotification
        object:nil];

快速版本

NotificationCenter.default.addObserver(self, selector: 
#selector(self.didChangePreferredContentSize), name: 
UIContentSizeCategoryDidChangeNotification, object: nil)

然后您可以在选择器方法 - didChangePreferredContentSize 中处理您的要求。

最佳实践指南 - 一旦离开 View Controller ,请记住移除观察者。

关于ios - adjustsFontForContentSizeCategory iOS 的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45094802/

相关文章:

ios - 如果是 iOS 8,则为 UIAlertController,否则为 UIAlertView

objective-c - 位图行宽的奇怪按位运算,这是什么意思? (以及为什么)

iOS Fabric Crashlytics Answers Kit 不收集数据

ios - 如何编辑 UIScrollView 大小?

ios - UINavigationBar - prefersLargeTitles - 如何在标题左侧设置图像?

ios - 表格 View 用最后一个 xml 条目填充所有单元格 iphone

iphone - ALAssetsLibrary 太慢 - Objective-C

iphone - 通过蓝牙从 iPhone 获取 GPS 到 wifi iPad?

swift - 如何在 swift 4 中获取子字符串?

ios - Swift 2 在更改页面之前检查