模拟器iOS 9.3上UIContentSizeCategoryDidChangeNotification无法工作,但在设备上可以。

17

当用户在设置->辅助功能下更改字体大小时,我有一个UIContentSizeCategoryDidChangeNotification观察者会被触发。

   NSNotificationCenter.defaultCenter().addObserver(self, selector: "preferredContentSizeChanged:", name: UIContentSizeCategoryDidChangeNotification, object: nil)

我以前从未遇到过这样的问题,但现在在 iPhone 模拟器 iOS 9.3 上出现了问题。然而,在 iOS 9.3 的真实设备上可以正常工作。

模拟器返回:

bogus value for UIPreferredContentSizeCategoryName: (null)

还有其他人遇到过同样的问题吗?


2
是的,我也是。提交一个雷达,添加到OpenRadar并标记为重复。 http://www.openradar.me/radar?id=6083508816576512 http://www.openradar.me/faq - Lucien
可以在运行9.3的设备上使用,但无法在运行9.3的模拟器上使用。 - Dipu Rajak
一样的情况。显然是个bug。 - Tuslareb
1
刚刚为这种愚蠢的事情浪费了两个小时。一个数十亿美元的公司……他们居然不能正确地检查新版本。在这种情况下,希望在哪里? - PatrickV
1
严肃点,苹果?!真的吗!我浪费了一个多小时在这上面.. - user1366265
显示剩余2条评论
1个回答

3

这似乎是iOS中的一个bug,我已经编写了以下代码:

print(UIApplication.sharedApplication().preferredContentSizeCategory)

我发现当应用在运行iOS 9.3的真实设备上时,控制台信息可能是UICTContentSizeCategoryXXXL、UICTContentSizeCategoryXXL、UICTContentSizeCategoryXL、UICTContentSizeCategoryL、UICTContentSizeCategoryM、UICTContentSizeCategoryS、UICTContentSizeCategoryXS

但是当应用在运行iOS 9.3的模拟器上时,不管我在设置中选择什么字体大小,控制台信息始终是UICTContentSizeCategoryL


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接