ios - 如何告诉 iOS 11 中的 Smart Invert 不要反转我的应用程序颜色并检测它是否已启用?

标签 ios swift colors ios11

iOS 11 有一个名为“智能反转颜色”的新功能,我想在我的应用程序中利用它。我已经在我的应用程序中实现了自己的深色模式,因此当启用智能反转时,我将自己执行“颜色反转”过程。我想知道的是:

  • 我如何告诉 iOS 11 该应用具有深色界面并且不会反转颜色,类似于 iOS 10+ 中的 iOS 时钟应用?
  • 如何检测启用了哪种反转颜色,特别是“智能反转”或“经典反转”?

我在 Google、StackOverflow 和 Apple Developer Website 到处搜索了一段时间,但仍然找不到答案。

提前致谢!

更新:

感谢@Toma's answer ,我成功地阻止了 iOS 11 在我的应用程序中反转 View 。现在我有另一个问题...

对于检测部分,UIAccessibility.isInvertColorsEnabled (Swift 4.2) 似乎只会在 Smart Invert 开启 (iOS 11) 时返回 true。至少现在对我来说已经足够了。我现在想知道如何找出 Classic Invert 何时开启。如果您知道该怎么做,请在下面发布更新的答案!谢谢!

最佳答案

查看 iOS 11 UIView 的属性 accessibilityIgnoresInvertColors .

关于ios - 如何告诉 iOS 11 中的 Smart Invert 不要反转我的应用程序颜色并检测它是否已启用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44470786/

相关文章:

ios - 分段控件中 TableView 中的 UIStepper

WINAPI - 设置组合框下拉菜单的背景和文本颜色

ios - Chrome IOS HTML5 地理定位权限被拒绝

ios - 跨上下文传递 ManagedObject ID

ios - 在iOS上将核心数据与FMDB相结合

swift - 通过索引访问结构成员

ios - 无法在 Swift 2.2 中使用 UINavigationButton

ios - Swift:如果是正斜杠,则从字符串中删除最后一个字符

r - 基于数据变量绘制具有颜色和形状的点

r - 使用 ggplot 进行颜色渐变