Todos los paquetes de código abierto
InterfazSwift

SwiftUI-Animation-Masterclass

Movimiento basado en física, partículas, efectos de cambio y transiciones para SwiftUI en iOS y macOS.

7EstrellasÚltima versión: v2.0.0Actualizado: 15 de octubre de 2026
Plataformas:iOS 17macOS 14

Licencia: MIT

Un paquete Swift de movimiento para SwiftUI en iOS 17+ y macOS 14+: springs basados en física, decay y bounces, drags que conservan la velocidad del dedo, efectos de partículas, efectos de cambio y transiciones. Todo es un view modifier, una Animation, una Transition o un simple value type, y el paquete no tiene dependencias.

Características

  • DampedSpring resuelto en forma cerrada, con los presets gentle, snappy, bouncy y smooth, tiempo de asentamiento y conversión a una animación de SwiftUI
  • Decay proyecta dónde termina un flick; GravityBounce y .gravityBounce() dejan caer un valor y lo hacen rebotar
  • .elasticDrag() y .snapDrag() pasan la velocidad de soltar al spring y se estiran con resistencia de goma (rubber-band) más allá de los extremos
  • Partículas en un único Canvas: 8 presets, 5 fuerzas y 7 formas, una simulación con seed y como máximo 10.000 partículas
  • Efectos de cambio (shake, jump, spin, pulse, ping, shine) y transiciones iris, wipe, flip y pop
  • Cada efecto respeta Reduce Motion por sí mismo
  • Compila en el modo de lenguaje Swift 6; catálogo DocC con cuatro artículos y la app de ejemplo MotionGallery para iOS y macOS

Inicio rápido

swift
1import SwiftUI
2import SwiftUIAnimationMasterclass
3 
4struct LikeButton: View {
5 @State private var likes = 0
6 
7 var body: some View {
8 Button("Like", systemImage: "heart.fill") { likes += 1 }
9 .buttonStyle(.borderedProminent)
10 .changeEffect(.jump(), value: likes)
11 .particleBurst(.hearts, trigger: likes)
12 }
13}

Instalación

Swift Package Manager

swift
1dependencies: [
2 .package(url: "https://github.com/muhittincamdali/SwiftUI-Animation-Masterclass.git", from: "2.0.0")
3],
4targets: [
5 .target(name: "YourApp", dependencies: [
6 .product(name: "SwiftUIAnimationMasterclass", package: "SwiftUI-Animation-Masterclass")
7 ])
8]

Capturas de pantalla

Explosiones de confetti y fireworks, snow y embers dibujados por ParticleSystem
Explosiones de confetti y fireworks, snow y embers dibujados por ParticleSystem, tema oscuro
Los efectos de cambio shake, jump, spin, pulse, ping y shine
Los efectos de cambio shake, jump, spin, pulse, ping y shine, tema oscuro
Una bola soltada con gravityBounce, un DampedSpring bouncy y un flick de Decay
Una bola soltada con gravityBounce, un DampedSpring bouncy y un flick de Decay, tema oscuro
Pantalla del laboratorio de física de la app de ejemplo MotionGallery en un simulador de iPhone, claro
Pantalla del laboratorio de física de la app de ejemplo MotionGallery en un simulador de iPhone, oscuro
Pantalla de efectos de cambio de la app de ejemplo MotionGallery, claro
Pantalla de efectos de cambio de la app de ejemplo MotionGallery, oscuro
Pantalla de transiciones de la app de ejemplo MotionGallery, claro
Pantalla de transiciones de la app de ejemplo MotionGallery, oscuro

Cronología

  1. Repositorio abierto

  2. 1.0.0 etiquetada; su manifest apuntaba a carpetas de código fuente que no estaban en el repositorio, así que no compilaba

  3. Simplificado: se eliminaron los módulos de animación antiguos, quedando una vista de demo y un modificador de scroll

  4. Reconstruido como 2.0.0: physics, gestures, particles, efectos de cambio y transiciones; MobileMotion y SwiftParticles se fusionaron y fueron archivados

Enlaces

Repositorios fusionados

Artículo relacionado

Leer el artículo