iOS 11有一个名为“智能反转颜色”的新功能,我想在我的应用程序中利用这一点。我已经在我的应用程序中实现了我自己的暗模式,所以当Smart Invert启用时,我将自己进行“颜色反转”过程。我想知道的是:
我已经在谷歌、StackOverflow和苹果开发者网站上到处搜索了一段时间,仍然没有找到答案。
提前感谢!
更新:
多亏了@Toma's answer,我成功地阻止了iOS 11在我的应用程序中颠倒视图。现在我有了另一个问题..。
对于检测部分,UIAccessibility.isInvertColorsEnabled
(Swift 4.2)似乎只会在智能反相打开时返回true
(iOS 11)。至少现在对我来说已经足够了。我现在想知道怎样才能知道Classic Invert何时打开。如果你知道怎么做,请在下面发布更新的答案!谢谢!
发布于 2017-06-14 23:51:09
请参见iOS 11 UIView
的属性accessibilityIgnoresInvertColors。
发布于 2018-04-13 19:37:27
忽略所有UIImageViews的智能反相。在应用程序委派中设置
if #available(iOS 11.0, *) {
UIImageView.appearance().accessibilityIgnoresInvertColors = true
}
发布于 2019-04-03 08:50:42
Swift 4.2
要检查当前是否启用了智能逆变,您可以使用UIAccessibility.isInvertColorsEnabled
。您还可以通过观察UIAccessibility.invertColorsStatusDidChangeNotification
来获得更改时的通知
NotificationCenter.default.addObserver(forName: UIAccessibility.invertColorsStatusDidChangeNotification,
object: nil,
queue: OperationQueue.main) {
[weak self] _ in
if UIAccessibility.isInvertColorsEnabled {
// smart invert is enabled
} else {
}
}
https://stackoverflow.com/questions/44470786
复制相似问题