すべてのオープンソースパッケージ
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 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}

インストール

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]

スクリーンショット

ParticleSystem が描く confetti と fireworks のバースト、雪、火の粉
ParticleSystem が描く confetti と fireworks のバースト、雪、火の粉、ダークテーマ
shake、jump、spin、pulse、ping、shine の変化エフェクト
shake、jump、spin、pulse、ping、shine の変化エフェクト、ダークテーマ
gravityBounce で落下するボール、bouncy な DampedSpring、Decay によるフリック
gravityBounce で落下するボール、bouncy な DampedSpring、Decay によるフリック、ダークテーマ
iPhone シミュレータ上の MotionGallery サンプルアプリの Physics lab 画面、ライト
iPhone シミュレータ上の MotionGallery サンプルアプリの Physics lab 画面、ダーク
MotionGallery サンプルアプリの変化エフェクト画面、ライト
MotionGallery サンプルアプリの変化エフェクト画面、ダーク
MotionGallery サンプルアプリのトランジション画面、ライト
MotionGallery サンプルアプリのトランジション画面、ダーク

タイムライン

  1. リポジトリが公開されました

  2. 1.0.0 をタグ付け。manifest がリポジトリに存在しないソースフォルダを指していたため、ビルドできませんでした

  3. 簡素化: 旧アニメーションモジュールを削除し、デモ用のビューと scroll モディファイアだけが残りました

  4. 2.0.0 として作り直し: physics、gestures、particles、変化エフェクト、トランジション。MobileMotion と SwiftParticles をマージし、両リポジトリはアーカイブされました

リンク

統合されたリポジトリ

関連記事

記事を読む