Biblioteca de Swift para crear apps en plataformas Apple con gestión de estado coherente, funcionalidades componibles, control de efectos secundarios y sólidas herramientas de prueba.
elijah-semyonov/DuoLikeAnimation
Demo para iOS que usa shaders de Metal de SwiftUI y Core Motion para imitar la animación de plegado de un iPhone plegable y dar a la pantalla un aspecto de vidrio esmerilado.
- Estrellas
- 158
- Forks
- 40
- Issues abiertos
- 0
- Último commit
- el mes pasado
¿Qué es?
DuoLikeAnimation es un proyecto de demostración para iOS que imita la animación de plegado del iPhone Duo usando únicamente shaders de SwiftUI y Core Motion. Una capa Metal `layerEffect` recibe la actitud del dispositivo en tiempo real, de modo que un teléfono plano parece plegarse como una mitad de un dispositivo plegable.
El efecto trata la pantalla como un panel de vidrio esmerilado. La interfaz permanece fija en el espacio del mundo mientras el dispositivo se inclina alrededor de su eje vertical. El shader reproyecta la vista en perspectiva, la desenfoca y oscurece en proporción a la distancia entre el vidrio y el plano de la interfaz, y muestra negro donde los rayos no alcanzan la interfaz. De forma predeterminada, el punto de vista se modela a una distancia de 320 mm, como cuando se sostiene el dispositivo en la mano.
El proyecto incluye el shader, un modificador de SwiftUI con parámetros ajustables, un modelo de Core Motion que calibra la postura de inclinación cero y una vista de demostración con un panel para recalibrar y ajustar manualmente la inclinación. En el simulador, donde no hay datos de movimiento disponibles, la inclinación manual está habilitada de forma predeterminada.
Funciones clave
- 01El shader Metal `layerEffect` realiza una reproyección en perspectiva, desenfoque y oscurecimiento según la distancia.
- 02Core Motion proporciona la actitud del dispositivo y calibra la postura de inclinación cero a partir de la primera muestra.
- 03El modificador `.foldEffect(angle:parameters:)` expone parámetros ajustables.
- 04Un panel flotante permite recalibrar y ajustar manualmente la inclinación.
- 05La inclinación manual está habilitada de forma predeterminada en el simulador.
Casos de uso
- Aprender a escribir shaders `layerEffect` de SwiftUI con Metal.
- Crear prototipos de efectos de interfaz para dispositivos plegables o de inclinación 3D en iOS.
- Estudiar cómo usar los datos de actitud de Core Motion para controlar efectos visuales.
Inicio rápido
- 1
Abre DuoLikeAnimation.xcodeproj en Xcode
- 2
Ejecuta la app en un dispositivo iOS (el simulador no tiene datos de movimiento y el control de la inclinación es manual)
Antes de usarlo
- Está diseñado solo para iOS. Para obtener el efecto de inclinación real, se necesita un dispositivo físico con sensores de movimiento.
- Es un proyecto de demostración, no una biblioteca reutilizable.
Temas
Preguntas frecuentes
- ¿Qué es DuoLikeAnimation?
- Demo para iOS que usa shaders de Metal de SwiftUI y Core Motion para imitar la animación de plegado de un iPhone plegable y dar a la pantalla un aspecto de vidrio esmerilado. DuoLikeAnimation es un proyecto de demostración para iOS que imita la animación de plegado del iPhone Duo usando únicamente shaders de SwiftUI y Core Motion. Una capa Metal `layerEffect` recibe la actitud del dispositivo en tiempo real, de modo que un teléfono plano parece plegarse como una mitad de un dispositivo plegable.
- ¿DuoLikeAnimation es gratuito? ¿Qué licencia tiene?
- DuoLikeAnimation es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿DuoLikeAnimation sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de DuoLikeAnimation fue el 11 sept 2026.
- ¿Para qué puedo usar DuoLikeAnimation?
- Aprender a escribir shaders `layerEffect` de SwiftUI con Metal. Crear prototipos de efectos de interfaz para dispositivos plegables o de inclinación 3D en iOS. Estudiar cómo usar los datos de actitud de Core Motion para controlar efectos visuales.
- ¿Cómo se instala DuoLikeAnimation?
- Abre DuoLikeAnimation.xcodeproj en Xcode Ejecuta la app en un dispositivo iOS (el simulador no tiene datos de movimiento y el control de la inclinación es manual)
- ¿Dónde consigo DuoLikeAnimation?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/elijah-semyonov/DuoLikeAnimation
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un launcher de iOS que ejecuta apps IPA dentro de sí mismo sin instalarlas y permite usar varios contenedores por app.
Cliente de video nativo para iOS y tvOS del servidor multimedia Jellyfin, desarrollado con Swift y SwiftUI.
Biblioteca de Airbnb para iOS que renderiza animaciones vectoriales de After Effects exportadas como JSON de bodymovin, de forma nativa y en tiempo real.
Integración de GitHub Copilot para Xcode que añade completado de código, chat, modo agente y revisión de código para proyectos de Swift y Objective-C.
Una habilidad para agentes que enseña a asistentes de programación con IA como Claude Code y Codex a escribir código SwiftUI moderno y correcto.