Implementación de Dark Mode en Aplicaciones iOS

Clase 47 de 52Curso de Desarrollo de Apps para iOS

Resumen

¿Qué es el dark mode y por qué es importante?

El dark mode, o "modo oscuro", es una tendencia que ha ganado popularidad recientemente por dos razones fundamentales.

  • Ahorro de batería: Especialmente en pantallas OLED o AMOLED, el dark mode reduce el consumo de energía, prolongando la vida útil de la batería.

  • Comodidad visual: Al invertir los colores y aplicar fondos oscuros, el dark mode reduce el esfuerzo ocular durante la noche o en entornos con poca luz.

¿Cómo habilitar el dark mode en las aplicaciones iOS?

Por defecto, todas las aplicaciones en iOS trece y superiores soportan el dark mode. No es necesario activarlo manualmente; sin embargo, si deseas probar cómo se ve tu aplicación en dark mode, puedes hacerlo fácilmente.

  1. Visualización en Xcode: Al abrir tu proyecto en Xcode, dirígete a las visualizaciones de iPhone. Podrás cambiar entre light y dark mode usando la opción "interface style".

  2. Simulador de iOS en dark mode: Para forzar el simulador a mostrar dark mode:

    • Busca las herramientas de Xcode.
    • Activa el "interface style" con la opción dark mode.

¿Es obligatorio soportar el dark mode?

No estás obligado a soportar el dark mode en tu aplicación, pero se recomienda para evitar problemas inesperados. Sin embargo, puedes forzar una pantalla a mostrar solo light mode si así lo necesitas.

if #available(iOS 13.0, *) {
    overrideUserInterfaceStyle = .light
}

Este código forzará a que la interfaz se mantenga en modo claro, incluso si el sistema está configurado en dark mode.

¿Cómo adaptar la interfaz al dark mode?

Si deseas personalizar tu interfaz y hacerla compatible con el dark mode, necesitarás adaptar algunos elementos como imágenes y colores.

¿Cómo manejar imágenes no compatibles?

Es posible que algunas imágenes no se vean bien en dark mode, especialmente si tienen fondos blancos. Para solventar esto:

  1. Dirígete a los assets de tu proyecto y selecciona la imagen problemática.
  2. En las propiedades, cambia la apariencia a "Any, Dark".
  3. Agrega dos versiones de la imagen: una para light mode y otra para dark mode.

¿Cómo crear y usar colores semánticos?

Para que los colores de tu aplicación cambien adecuadamente entre modos, sigue estos pasos:

  • Crear un color semántico:
extension UIColor {
    static let customGreen: UIColor = {
        if #available(iOS 13.0, *) {
            return UIColor { traitCollection in
                switch traitCollection.userInterfaceStyle {
                case .dark:
                    return .white
                default:
                    return .green
                }
            }
        } else {
            return .green
        }
    }()
}
  • Aplicar el color dependiente del modo:
button.backgroundColor = UIColor.customGreen

Este ejemplo ilustra cómo personalizar colores para adaptarse automáticamente entre light y dark modes.

¿Cuáles son las ventajas y desventajas de usar componentes nativos de Apple?

Los componentes nativos de Apple, como las barras de navegación, se adaptan automáticamente al dark mode, lo que facilita el trabajo. Sin embargo, esta automatización puede generar resultados inesperados si los componentes personalizados no están adecuadamente configurados.

Es crucial experimentar y personalizar adecuadamente estos aspectos para garantizar una aplicación profesional y estéticamente coherente en todos los entornos. Recuerda que incorporar el dark mode añade valor a tu aplicación en el mercado, brindando una experiencia de usuario más completa y moderna. ¡Continúa aprendiendo y experimentando para dominar esta evolución del diseño de interfaces!