Tous les paquets open source
InterfaceSwift

SwiftUI-Animation-Masterclass

Mouvement fondé sur la physique, particules, effets de changement et transitions pour SwiftUI sur iOS et macOS.

7ÉtoilesDernière version: v2.0.0Mis à jour: 15 octobre 2026
Plateformes:iOS 17macOS 14

Licence: MIT

Un package Swift de mouvement pour SwiftUI sur iOS 17+ et macOS 14+ : ressorts fondés sur la physique, decay et rebonds, glissements qui conservent la vitesse du doigt, effets de particules, effets de changement et transitions. Tout est un modifier de vue, une Animation, une Transition ou un simple type valeur, et le package n'a aucune dépendance.

Fonctionnalités

  • DampedSpring résolu sous forme fermée, avec les préréglages gentle, snappy, bouncy et smooth, le temps de stabilisation et la conversion en animation SwiftUI
  • Decay projette où un lancer se termine ; GravityBounce et .gravityBounce() font tomber une valeur et la font rebondir
  • .elasticDrag() et .snapDrag() transmettent la vitesse de relâchement au ressort et s'étirent avec une résistance élastique au-delà des bornes
  • Particules dans un seul Canvas : 8 préréglages, 5 forces et 7 formes, une simulation à graine et au plus 10 000 particules
  • Effets de changement (shake, jump, spin, pulse, ping, shine) et transitions iris, wipe, flip et pop
  • Chaque effet respecte Réduire les animations par lui-même
  • Compile en mode de langage Swift 6 ; catalogue DocC avec quatre articles et l'app d'exemple MotionGallery pour iOS et macOS

Démarrage rapide

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]

Captures d'écran

Rafales de confettis et de feux d'artifice, neige et braises dessinées par ParticleSystem
Rafales de confettis et de feux d'artifice, neige et braises dessinées par ParticleSystem, thème sombre
Les effets de changement shake, jump, spin, pulse, ping et shine
Les effets de changement shake, jump, spin, pulse, ping et shine, thème sombre
Une balle lâchée avec gravityBounce, un DampedSpring bouncy et un lancer Decay
Une balle lâchée avec gravityBounce, un DampedSpring bouncy et un lancer Decay, thème sombre
Écran du laboratoire de physique de l'app d'exemple MotionGallery sur un simulateur iPhone, clair
Écran du laboratoire de physique de l'app d'exemple MotionGallery sur un simulateur iPhone, sombre
Écran des effets de changement de l'app d'exemple MotionGallery, clair
Écran des effets de changement de l'app d'exemple MotionGallery, sombre
Écran des transitions de l'app d'exemple MotionGallery, clair
Écran des transitions de l'app d'exemple MotionGallery, sombre

Chronologie

  1. Dépôt ouvert

  2. 1.0.0 étiquetée ; son manifeste pointait vers des dossiers sources absents du dépôt, donc il ne compilait pas

  3. Simplifié : modules d'animation hérités supprimés, laissant une vue de démonstration et un modifier de scroll

  4. Reconstruit en 2.0.0 : physique, gestes, particules, effets de changement et transitions ; MobileMotion et SwiftParticles fusionnés puis archivés

Liens

Dépôts fusionnés

Article associé

Lire l'article