LWJ LWJ -4 years ago 250
Swift Question

How to tell Smart Invert in iOS 11 not to invert my app colors and detect if it is enabled?

iOS 11 has a new feature called "Smart Invert Colors", and I want to take advantage of that in my app. I already have my own dark mode implemented in my app, so I'll do the "color inversion" process myself when Smart Invert is enabled. What I want to know is:


  • How do I tell iOS 11 that the app has a dark interface and don't invert colours, similar to the iOS Clock app in iOS 10+?

  • How do I detect which kind of Invert Colors, specifically "Smart Invert" or "Classic Invert", is enabled?



I've searched everywhere at Google, StackOverflow, and Apple Developer Website for some time now and still couldn't find the answer.

Thanks in advance!

Update:

Just in case someone misunderstood me, I already know that
UIAccessibilityIsInvertColorsEnabled()
can be used to detect if invert colors is enabled, but that doesn't let me see which kind of invert colors is enabled. Any ideas?

As for the other problem, I still couldn't figure out how to tell Invert Colors not to invert my app in iOS 11. Any help would be appreciated. Thanks!

Update 2:

I noticed that emojis (

Answer Source

See new UIView's property accessibilityIgnoresInvertColors.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download