📐 ¿Sabías que una sheet de SwiftUI puede ajustarse automáticamente a la altura real de su contenido?
Aunque presentationDetents nos permite usar tamaños como .medium, .large o alturas personalizadas, SwiftUI no incluye un modo nativo que diga simplemente: “ocupa exactamente lo que necesites”.
https://blog.arturorivas.com/posts/sheets-swiftui-ajustadas-al-contenido/
En este artículo explico cómo construir un modificador reutilizable que:
✅ Mide automáticamente la altura del contenido
✅ Ajusta el tamaño del sheet en tiempo real
✅ Permite combinar altura dinámica con .medium y .large
✅ Se adapta a cambios de contenido después de presentarse
✅ Evita algunos problemas habituales de layout y accesibilidad
Es una de esas pequeñas mejoras que no suelen aparecer en las especificaciones, pero que marcan una gran diferencia en la sensación de calidad de una interfaz.
Si trabajas con confirmaciones, filtros, selectores o formularios compactos en SwiftUI, esto te interesa.
#Swift #SwiftUI #iOSDev #AppleDeveloper #MobileDevelopment #Xcode

Sheets en SwiftUI que se ajustan automáticamente a su contenido
📐 Las sheet de SwiftUI funcionan muy bien cuando aceptas los tamaños que el sistema propone. El problema aparece cuando tu interfaz no encaja en niguno de esos tamaños. Una vista pequeña queda flotando dentro de un sheet demasiado alto. Una vista algo más grande puede quedar cortada. Y una pantalla que solo necesita presentar una confirmación breve termina ocupando gran parte de la pantalla sin necesidad. Desde iOS 16, SwiftUI permite controlar la altura de una hoja con presentationDetents, usando valores como .medium, .large, .height(...) o .fraction(...). Es una mejora enorme frente al comportamiento inicial de los sheets, pero sigue teniendo una limitación importante: no existe un detent nativo que diga simplemente “mide el contenido y usa esa altura”.







