SwiftUI-Animation-Masterclass
Physikbasierte Bewegung, Partikel, Change-Effekte und Übergänge für SwiftUI auf iOS und macOS.
Lizenz: MIT
Ein Swift-Package für Bewegung in SwiftUI auf iOS 17+ und macOS 14+: physikbasierte Springs, Decay und Bounces, Drags, die die Geschwindigkeit des Fingers beibehalten, Partikeleffekte, Change-Effekte und Übergänge. Alles ist ein View-Modifier, eine Animation, eine Transition oder ein einfacher Value-Type, und das Package hat keine Abhängigkeiten.
Funktionen
- DampedSpring in geschlossener Form gelöst, mit den Presets gentle, snappy, bouncy und smooth, Einschwingzeit und Umwandlung in eine SwiftUI-Animation
- Decay projiziert, wo ein Flick endet; GravityBounce und .gravityBounce() lassen einen Wert fallen und abprallen
- .elasticDrag() und .snapDrag() übergeben die Loslassgeschwindigkeit an den Spring und dehnen sich mit Rubber-Band-Widerstand über die Enden hinaus
- Partikel in einem einzigen Canvas: 8 Presets, 5 Kräfte und 7 Formen, eine Seed-basierte Simulation und höchstens 10.000 Partikel
- Change-Effekte (shake, jump, spin, pulse, ping, shine) sowie die Transitions iris, wipe, flip und pop
- Jeder Effekt beachtet Reduce Motion eigenständig
- Baut im Swift-6-Language-Mode; DocC-Katalog mit vier Artikeln und die Beispiel-App MotionGallery für iOS und macOS
Schnellstart
1import SwiftUI2import SwiftUIAnimationMasterclass3 4struct LikeButton: View {5 @State private var likes = 06 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}Installation
Swift Package Manager
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]Screenshots












Zeitleiste
Repository eröffnet
1.0.0 getaggt; das Manifest verwies auf Source-Ordner, die nicht im Repository lagen, daher ließ es sich nicht bauen
Vereinfacht: alte Animationsmodule entfernt, übrig blieben eine Demo-View und ein Scroll-Modifier
Als 2.0.0 neu aufgebaut: Physics, Gestures, Particles, Change-Effekte und Transitions; MobileMotion und SwiftParticles wurden übernommen und archiviert