Gauge, ProgressView o Slider en SwiftUI: ¿cuál usar en cada caso?
Arturo Rivas Arias
🎯 Aunque parecen similares, estos tres componentes nativos de SwiftUI tienen propósitos completamente distintos.
Elegir el correcto marca la diferencia entre una interfaz intuitiva y una confusa.
📊 Gauge es para mostrar valores medidos dentro de un rango. Introducido en iOS 16, es ideal para representar temperatura, nivel de batería o uso de CPU.
A diferencia de los otros, es de solo lectura: el usuario no puede interactuar con él para cambiar el valor.
🔄 ProgressView representa el avance de una tarea hacia su finalización. No mide magnitudes del mundo real, sino estados de proceso.
Es perfecto para pantallas de carga, descargas o flujos de onboarding donde el valor avanza siempre hacia el 100%.
🎚️ Slider es el único que permite entrada del usuario. Lo usas cuando necesitas que ajusten un valor numérico como volumen, brillo o intensidad de filtros.
Se vincula directamente a una propiedad con Binding, permitiendo actualizaciones inmediatas y continuas.
🎨 Gauge destaca por su variedad de estilos: linearCapacity, accessoryCircular, accessoryLinear y más.
Cada uno ocupa diferentes espacios y se adapta a widgets, complicaciones de watchOS o dashboards sin escribir estilos personalizados.
♿ Los tres siguen los principios de diseño de Apple en claridad y accesibilidad. Gauge y ProgressView incluyen etiquetas descriptivas automáticas para VoiceOver.
Slider proporciona feedback háptico y ajuste preciso mediante gestos del sistema.
🧩 La regla es simple: si es un valor medido, usa Gauge. Si representa progreso, usa ProgressView. Si el usuario puede cambiar el valor, usa Slider.
👨💻 Dominar estas diferencias te ayuda a crear interfaces que no solo se ven adecuadamente, sino que se comportan de forma natural dentro del ecosistema de Apple. ¿Ya los usas correctamente en tus proyectos?