UISwift
SwiftUI-Animation-Masterclass
iOS と macOS の SwiftUI 向けの、物理演算に基づくモーション、パーティクル、変化エフェクト、トランジション。
7スター数最新リリース: v2.0.0更新日: 2026年10月15日
対応プラットフォーム:iOS 17macOS 14
ライセンス: MIT
iOS 17 以降と macOS 14 以降の SwiftUI 向けに、モーションをまとめた Swift パッケージです: 物理演算に基づくスプリング、decay、バウンス、指の速度を保持するドラッグ、パーティクルエフェクト、変化エフェクト、トランジションです。すべては view モディファイア、Animation、Transition、または単純な value type として提供され、このパッケージに依存関係はありません。
機能
- 閉形式で解かれる DampedSpring。gentle、snappy、bouncy、smooth のプリセット、settling time、SwiftUI の animation への変換を備えます
- Decay はフリック操作の到達点を予測します。GravityBounce と .gravityBounce() は値を落下させてバウンドさせます
- .elasticDrag() と .snapDrag() は、離した際の速度をスプリングに渡し、端を超えるとラバーバンドのような抵抗で伸びます
- 単一の Canvas 上のパーティクル: 8種類のプリセット、5種類の力、7種類の形状、seed 付きのシミュレーション、最大10,000個のパーティクル
- 変化エフェクト(shake、jump、spin、pulse、ping、shine)と、iris、wipe、flip、pop のトランジション
- すべてのエフェクトが、それぞれ独立して Reduce Motion に対応します
- Swift 6 の language mode でビルドされます。4本の記事を含む DocC カタログと、iOS・macOS 向けの MotionGallery サンプルアプリ
クイックスタート
swift
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}インストール
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]スクリーンショット












タイムライン
リポジトリが公開されました
1.0.0 をタグ付け。manifest がリポジトリに存在しないソースフォルダを指していたため、ビルドできませんでした
簡素化: 旧アニメーションモジュールを削除し、デモ用のビューと scroll モディファイアだけが残りました
2.0.0 として作り直し: physics、gestures、particles、変化エフェクト、トランジション。MobileMotion と SwiftParticles をマージし、両リポジトリはアーカイブされました