Hola, me llamo Luis y en esta ocasión les traigo otro nuevo post.
Índice
¿Y si no quieres el modo oscuro?
Desde el lanzamiento de Apple de su nuevo SDK y el undécimo lanzamiento de Xcode, se recomienda que las aplicaciones sean compatibles con el nuevo modo oscuro de iOS 13. Pero, ¿y si no queremos usarlo?
Si ejecuta un proyecto que estaba desarrollando para iOS 12, su aplicación simplemente mostrará UIViews oscuros en iOS 13, lo que hará que sus etiquetas no se muestren correctamente y arruine su concepción del modo claro de cómo debería aparecer su IU.
Hay un par de formas de desactivar el modo oscuro, que cubriremos a continuación.
1. Configuración de UIUserInterfaceStyle
en su Info.plist
La forma más fácil de forzar a su aplicación a mostrar interfaces ligeras es configurando UIUserInterfaceStyle
en Info.plist
, especificando el estilo de interfaz preferido.
<key>UIUserInterfaceStyle</key> <string>Light</string>
Simplemente reconstruya la aplicación y verá una interfaz ligera en toda la aplicación.
2. Configuración de la propiedad overrideUserInterfaceStyle
Cada UIViewController
, UIView
e incluso UIWindow
pueden responder al conjunto de esta propiedad, obviamente creando UIView
, el controlador completo o la ventana principal que muestra la interfaz de luz.
Debes envolver la configuración en un condicional #available
para evitar problemas de compilación:
if #available(iOS 13.0, *) { // prefer a light interface style with this: overrideUserInterfaceStyle = .light }
Esta propiedad se puede establecer en UIViewController
en viewDidLoad()
así como en tu aplicación didFinishLaunchingWithOptions
método de AppDelegate.swift
, accediendo al opcional propiedad window?
.
Esto depende estrictamente de la arquitectura de su aplicación y de la forma en que desea que funcione el conjunto. Puede configurar toda la ventana principal para adoptar la interfaz ligera o utilizarla en instancias específicas de UIViewController
.
Por eso tienes que elegir entre …
window?.overrideUserInterfaceStyle = .light
… En AppDelegate
. O puedes usar:
view.overrideUserInterfaceStyle = .light
… Dentro de su UIViewController
. Como puede ver, el nombre de la propiedad es siempre el mismo: overrideUserInterfaceStyle
.
Pensamientos finales
Evitar el modo oscuro en su aplicación podría ser una idea equivocada. Su aplicación debe admitir el nuevo modo oscuro para mejorar la UX
de iOS 13
porque su aplicación debe estar en el contexto del estilo preferido.
La mayoría de las aplicaciones profesionales y populares lanzaron actualizaciones para admitir el modo oscuro, y sugiero forzar el modo claro solo si su aplicación debe ajustarse a una interfaz clara.
Espero que te sea de utilidad. Gracias por leer este artículo.
Añadir comentario