¿Cómo decirle a Smart Invert en iOS 11 que no invierta los colores de mi aplicación y detecte si está habilitada?
swift colors (2)
Ignore smart invert para todas las UIImageViews. Establecer en delegado de aplicación
if #available(iOS 11.0, *) {
UIImageView.appearance().accessibilityIgnoresInvertColors = true
}
iOS 11 tiene una nueva función llamada "Smart Invert Colors", y quiero aprovechar eso en mi aplicación. Ya tengo mi propio modo oscuro implementado en mi aplicación, por lo que haré el proceso de "inversión de color" cuando Smart Invert esté habilitado. Lo que quiero saber es:
- ¿Cómo le digo a iOS 11 que la aplicación tiene una interfaz oscura y no invierte colores, similar a la aplicación Reloj de iOS en iOS 10+?
- ¿Cómo detecto qué tipo de Invertir colores, específicamente "Invertido inteligente" o "Invertir clásico", está habilitado?
He buscado por todas partes en Google, StackOverflow y en el sitio web de desarrolladores de Apple desde hace algún tiempo y aún no puedo encontrar la respuesta.
¡Gracias por adelantado!
Actualizar:
Gracias a la respuesta de @ Toma , logré evitar que iOS 11 invirtiera las vistas en mi aplicación. Ahora tengo otro problema ...
Para la parte de detección, parece que UIAccessibilityIsInvertColorsEnabled()
solo devolverá true
si Smart Invert está UIAccessibilityIsInvertColorsEnabled()
(iOS 11). Al menos es suficiente para mí, por ahora. Ahora me pregunto cómo saber cuándo está activado Classic Invert. ¡Publica una respuesta actualizada a continuación si sabes cómo hacerlo! ¡Gracias!
Ver la UIView
de la propiedad de iOS 11 UIView
.