Alle Open-Source-Pakete
UISwift

SwiftUI-Animation-Masterclass

Physikbasierte Bewegung, Partikel, Change-Effekte und Übergänge für SwiftUI auf iOS und macOS.

7SterneNeueste Version: v2.0.0Aktualisiert: 15. Oktober 2026
Plattformen:iOS 17macOS 14

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

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}

Installation

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]

Screenshots

Confetti- und Feuerwerk-Ausbrüche, Schnee und Embers, gezeichnet von ParticleSystem
Confetti- und Feuerwerk-Ausbrüche, Schnee und Embers, gezeichnet von ParticleSystem, dunkles Theme
Die Change-Effekte shake, jump, spin, pulse, ping und shine
Die Change-Effekte shake, jump, spin, pulse, ping und shine, dunkles Theme
Ein mit gravityBounce fallender Ball, ein bouncy DampedSpring und ein Decay-Flick
Ein mit gravityBounce fallender Ball, ein bouncy DampedSpring und ein Decay-Flick, dunkles Theme
Physics-Lab-Screen der Beispiel-App MotionGallery im iPhone-Simulator, hell
Physics-Lab-Screen der Beispiel-App MotionGallery im iPhone-Simulator, dunkel
Change-Effekte-Screen der Beispiel-App MotionGallery, hell
Change-Effekte-Screen der Beispiel-App MotionGallery, dunkel
Transitions-Screen der Beispiel-App MotionGallery, hell
Transitions-Screen der Beispiel-App MotionGallery, dunkel

Zeitleiste

  1. Repository eröffnet

  2. 1.0.0 getaggt; das Manifest verwies auf Source-Ordner, die nicht im Repository lagen, daher ließ es sich nicht bauen

  3. Vereinfacht: alte Animationsmodule entfernt, übrig blieben eine Demo-View und ein Scroll-Modifier

  4. Als 2.0.0 neu aufgebaut: Physics, Gestures, Particles, Change-Effekte und Transitions; MobileMotion und SwiftParticles wurden übernommen und archiviert

Links

Zusammengeführte Repositories

Verwandter Artikel

Artikel lesen