Esto me recuerda mucho a responsive design con CSS pero muchísimo mas fácil 😂💚
Introducción
Desarrollo de Apps para iPadOS con Subi UI y SWIFT
Proceso de porteo de una app iOS a iPadOS
Adaptación de Aplicaciones iOS a iPadOS con SwiftUI
Sistema de Puntos vs. Píxeles en Desarrollo iOS
Adaptación de Assets en iOS para Diferentes Resoluciones
Modificadores de Offset y Position en SwiftUI
Uso de Geometry Reader para Interfaces Responsivas
Adaptación de vistas según dispositivo en Xcode y SwiftUI
Proceso de mejora como desarrollador de apps con SwiftUI
Ciclo de Vida de Aplicaciones Móviles en SwiftUI
Ciclo de Vida de una Aplicación en SwiftUI: Estados y Manejo
Ciclo de Vida de Vistas en SwiftUI: onAppear, onChange y onDisappear
Recomendaciones para Desarrolladores iOS: UIKit y SwiftUI
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
Al desarrollar aplicaciones con SwiftUI, uno de los aspectos fundamentales a entender es la diferencia entre usar puntos y píxeles. Este sistema de unidades es crucial, especialmente cuando trabajamos con dispositivos iOS. La elección de puntos sobre píxeles ofrece un enfoque más fluido y adaptable para las aplicaciones, asegurando que se adapten adecuadamente a las variadas resoluciones y densidades de pantalla de los numerosos dispositivos iOS en el mercado.
La variedad de dispositivos iOS implica múltiples resoluciones y tamaños de pantalla. Por ejemplo, un iPhone 8 y un iPhone 12 mini tienen tamaños físicos similares, pero el iPhone 12 mini tiene una mayor densidad de píxeles. Esto significa que puede mostrar más píxeles en la misma cantidad de espacio físico. Por lo tanto, si dependiéramos completamente de las coordenadas en píxeles para posicionar elementos, el aspecto de nuestra aplicación variaría significativamente entre dispositivos.
Ejemplo:
Un punto es la unidad de medida utilizada por SwiftUI para asegurar la consistencia entre dispositivos. La relación entre puntos y píxeles depende de la densidad de píxeles del dispositivo:
Gracias a esta unidad estándar de medida, los desarrolladores pueden especificar dimensiones para los elementos de la interfaz de usuario sin preocuparse por la resolución específica de cada dispositivo.
Examinar el uso de puntos en un entorno práctico puede facilitar la comprensión. Al crear una nueva vista dentro de un proyecto, se puede especificar el tamaño en puntos, y SwiftUI ajustará automáticamente las proporciones según la densidad de píxeles del dispositivo en uso.
struct SistemaPuntos: View {
var body: some View {
Rectangle()
.frame(width: 100, height: 100)
.foregroundColor(.blue)
}
}
En este ejemplo, un rectángulo azul de 100 por 100 puntos se centrará independientemente del dispositivo. SwiftUI por defecto ajustará el tamaño en píxeles según el dispositivo utilizado.
SwiftUI proporciona herramientas dentro de Xcode para simular cómo se verán nuestras interfaces en distintos dispositivos y sus respectivas densidades:
Canvas
para previsualizar múltiples dispositivos simultáneamente.Ejemplo práctico:
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
SistemaPuntos()
.previewDevice("iPhone 8")
SistemaPuntos()
.previewDevice("iPhone 11")
SistemaPuntos()
.previewDevice("iPad (9.7-inch)")
}
}
Utilizar puntos en lugar de píxeles simplifica muchos aspectos del desarrollo de interfaces, garantizando:
La adopción de este sistema de puntos no solo estandariza nuestras prácticas, sino que también aprovecha las capacidades de SwiftUI para manejarnos una UI adaptable y profesional sin frustraciones. ¡Continúa descubriendo SwiftUI y prepárate para crear interfaces más fluidas e impactantes!
Aportes 4
Preguntas 0
Esto me recuerda mucho a responsive design con CSS pero muchísimo mas fácil 😂💚
Muy buena clase 😃
para cambiar de dispositivos en el preview hay que agregar el .previewDevice(PreviewDevice(rawValue: “iPhone 8”)) y el .previewDisplayName(“iPhone 8”) para darle nombre
esas opciones no me funcionan en mi Version de Xcode
alguien sabe como hacer eso desde la version de xcode actual ?
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?