iOS アニメーション実行可能インスタンスインデックス
MotionBook からの Swift アニメーションコレクションインデックス:カテゴリ別に、直接 clone して実行できるオープンソースプロジェクトを紹介します。これは「すぐに使える実行可能インスタンスのディレクトリ」です。アニメーションの書き方チュートリアルではなく、実行可能なコードへの入り口です。書き方のチュートリアルは、twostraws SwiftUI チュートリアル、apple-skills:guide-swiftui-animations、swiftui-design-skill を参照してください。
エントリはオープンソースコレクション younatics/MotionBook から取得し、元の 8 カテゴリに従って整理されています。このインデックスでは、精選エントリと全エントリを別ファイルに分けて保存しています。プロジェクトは主に直接 clone して実行可能なデモです(ほとんどが Swift、一部 Objective-C)。エントリの説明は日本語、リンクとコードは英語の原文のままです。
このインデックスは以下を収録しません:SwiftUI ネイティブ .animation / withAnimation の書き方、Lottie / Rive アニメーションファイル、Core Animation レイヤーチュートリアル。これらが必要な場合は、twostraws SwiftUI、apple-skills:core-animation、または各公式ドキュメントを参照してください。
このインデックスの使い方
このファイルはスケジューリングインデックス層です:8 つのカテゴリからそれぞれ 2~3 の最も古典的な実行可能プロジェクトをリストアップし、「これは何か、いつどのリファレンスファイルを読むべきか」を明記しています。残りのエントリは references/ 以下にカテゴリ別に個別ファイルとして分割されており、リファレンスは1階層のみです。
ワークフロー:
- まず要件に応じて以下の 8 カテゴリのいずれかを特定し(下記の「タスク別カテゴリ検索」を使用)、精選エントリで十分かどうかを確認します。
- 不足している場合や、より多くの実装を比較したい場合は、該当カテゴリの
references/<カテゴリ>.mdを開きます。これがそのカテゴリの全エントリテーブルです。 - 目的のプロジェクトを見つけたら、clone して実際の動作を確認し、自分のコードに移植するかどうかを判断します。
- Tableview と Collectionview のエントリは少ないため、同じファイル
references/tableview-collectionview.mdに統合しています。開いたら、ファイル内の「テーブルビュー / コレクションビュー」の2つの小見出しに従ってセクションごとに読んでください。
これらのプロジェクトはほとんどが UIKit 時代の成熟したオープンソースライブラリであり、そのインタラクションパターンとアニメーションカーブは多くのアプリで検証されています。SwiftUI 実装では、そのタイミングとカーブパラメータを参考にすることができます。
リファレンスファイルとカテゴリの対応:menu.md / animation.md / transition.md / tableview-collectionview.md(テーブルビュー+コレクションビュー統合)/ indicator.md / alert.md / ui-controls.md。
タスク別カテゴリ検索
どのリファレンスを開くべきかわからない場合は、まずタスクキーワードで分類を特定します:
- サイド / ボトム / 展開 / アニメーション TabBar メニュー → Menu
- 汎用アニメーションライブラリ、スケルトンスクリーン、GIF、テキスト / 天気エフェクト → Animation
- ページ遷移、モーダル、カード展開トランジション、チュートリアルページ → Transition
- リストセルインタラクション、プルダウンリフレッシュ、折り紙展開 → Tableview
- カードスワイプ / オーバーレイ、パララックス Sticky / ストレッチヘッダー、テーブルレイアウト → Collectionview
- loading、ページインジケーター、ナビゲーションバー読み込み、HUD → Indicator
- 通知バナー、カスタム Alert、トップ通知、スウォーム / ブラーポップアップ → Alert
- セグメントコントロール、スライダー、カード、ナイトモード、検索、Markdown → UI
メニュー / Menu
ドロップダウン、スライド、円形放射、ギロチン、アニメーション TabBar などのメニュー形態とインタラクションアニメーション。ナビゲーションバー / サイドバー / 展開メニュー / ボトム Tab 切り替えの動きを作る際にここに来てください。
- SideMenu - Facebook スタイルの左右スライドメニュー
- GuillotineMenu - ギロチン風メニュー遷移アニメーション
- circle-menu - 円形ボタンから放射状に展開するメニュー
ドロップダウンメニュー、スライドメニューコントローラー、アニメーション TabBar など、より多くの実装が必要な場合は references/menu.md(全7エントリ)を参照してください。
アニメーション / Animation
汎用アニメーションライブラリ、スケルトンスクリーン、ベクターSVG、スプラッシュスクリーン、テキスト / GIF / 天気エフェクトなどの基本的なアニメーション機能。まず精選エントリを確認し、特定のアニメーション(GIF エンジン、キラキラテキスト、天気オーバーレイ)が必要な場合はリファレンスを参照してください。
- Spring - iOS アニメーションを簡略化する汎用ライブラリ
- SkeletonView - スケルトンスクリーン読み込みプレースホルダーアニメーション
- Macaw - SVG をサポートするベクターグラフィックアニメーションライブラリ
Pastel、Stellar、RevealingSplashView、Gecco、GlitchLabel、および Highlighter、FLAnimatedImage、Ease などの全18エントリは references/animation.md を参照してください。
遷移 / Transition
コントローラ遷移、モーダルバブル、弾性ドラッグ、スクロール遷移、チュートリアルページなどのトランジションアニメーション。ページ切り替え / カード展開 / トランジションコレクションに関わる場合はここに来てください。
- Hero - ビューコントローラ遷移フレームワーク
- BubbleTransition - バブル展開式モーダル遷移
- Gemini - スクロールベースのリッチな遷移フレームワーク
ElasticTransition、AnimatedTransitionGallery、JTMaterialTransition、Pinterest、Walkthrough などの全14エントリは references/transition.md を参照してください。
テーブルビュー / Tableview
展開可能セル、プルダウンリフレッシュ、スワイプ操作、折り紙展開、伸縮プレビューなどの UITableViewCell インスタンス。リストインタラクション / リフレッシュアニメーションを作る際にここに来てください。
- SwipeCellKit - Mail.app スタイルのスワイプ操作セル
- folding-cell - 折り紙展開式セル
テーブルビューとコレクションビューのインスタンスは統合して保存されています。YNExpandableCell、Pull-to-Refresh、elongation-preview などの全11エントリは references/tableview-collectionview.md を参照してください。
コレクションビュー / Collectionview
カードスワイプ / オーバーレイ、パララックス Sticky Header、弾性ストレッチヘッダー、スプレッドシートなどの UICollectionView レイアウトインスタンス。
- Koloda - Tinder スタイルのカードスワイプ
- expanding-collection - カードが詳細に展開するコレクションビュー
コレクションビューインスタンスはテーブルビューと統合:MMCardView、CSStickyHeaderFlowLayout、GSKStretchyHeaderView、SwiftSpreadsheet などの全11エントリは references/tableview-collectionview.md を参照してください。
インジケーター / Indicator
ローディングアニメーション、ページインジケーター、ナビゲーションバー読み込み、HUD ポップアップなどの状態インジケーター。loading / ページドット / 進行状況表示を作る際にここに来てください。
- NVActivityIndicatorView - 多数のローディングアニメーションコレクション
- PKHUD - Apple HUD スタイルのポップアップインジケーター
TKRubberIndicator、SpringIndicator、BusyNavigationBar などの全5エントリは references/indicator.md を参照してください。
アラート / Alert
通知バナー、カスタム Alert、アラート置き換え、トップ通知、スウォーム / ブラーポップアップなどの通知形態。
- NotificationBanner - カスタマイズ可能なアプリ内通知バナー
- PopupDialog - UIAlertController の代替ポップアップ
- SDCAlertView - カスタムコンテンツをサポートする Alert
CDAlertView、CRToast、TKSwarmAlert、MIBlurPopup、SweetAlert などの全9エントリは references/alert.md を参照してください。
インターフェースコントロール / UI
IB デザインアニメーション、テキスト変形、セグメントコントロール、カード、フルイドスライダー、検索、ナイトモードなどの汎用コントロールインスタンス。
- IBAnimatable - Interface Builder 内でアニメーションと遷移をデザイン
- LTMorphingLabel - テキスト変形進化 UILabel
- fluid-slider - バブル値付きフルイドスライダー
Segmentio、Cards、StarWars、YNSearch、DKNightVersion、MarkdownView などの全13エントリは references/ui-controls.md を参照してください。
完全版 MotionBook は https://github.com/younatics/MotionBook を参照 エントリは上流に従って更新されます。欠落やリンク切れは MotionBook リポジトリにフィードバックしてください。