コードを追加せずに、キーボードがUITextFieldやUITextViewにかぶるのを防ぐiOS用ライブラリ。
Instagram/IGListKit
Instagram製のデータ駆動型UICollectionViewフレームワーク。自動差分計算により、高速で柔軟なiOSリストを構築できます。
- スター
- 13,080
- フォーク
- 1,540
- 未解決の Issue
- 65
- 最終コミット
- 3 日前
これは何?
IGListKitは、UICollectionView上にリストを構築するためのObjective-Cフレームワークです。performBatchUpdatesやreloadDataを手動で呼び出す代わりに、開発者がデータを定義すると、フレームワークが変更前後の状態の差分を計算し、UICollectionViewに更新を適用します。
section controllerによってデータモデルとビューのロジックを分離できるため、1つのコレクション内で複数のデータ型や再利用可能なセル、コンポーネントを扱えます。疎結合な差分計算アルゴリズムがアイテムを比較し、モデルの比較方法はカスタマイズできます。差分計算コンポーネントはiOS、tvOS、macOSに対応し、Swiftとの完全な相互運用性も備えています。
IGListKitはInstagramのエンジニアリングチームがメンテナンスしており、Instagramアプリで使用されています。CocoaPods、Carthage、Swift Package Managerからインストールでき、Examplesディレクトリにはサンプルアプリが含まれています。
主な機能
- 01UICollectionViewの差分を自動計算し、バッチ更新を適用
- 02section controllerを使い、複数のデータ型を含むコレクションに対応
- 03モデルに応じて差分計算の動作をカスタマイズ可能
- 04単独でも利用できる疎結合な差分計算アルゴリズム
- 05Swiftとの完全な相互運用性
ユースケース
- データが頻繁に変化するiOSアプリで、フィード形式や複数種類のコンテンツを含むリストを構築する
- 既存のコレクションビューで、performBatchUpdatesやreloadDataを手動で呼び出す処理を置き換える
- テーブルベースの画面をコレクションベースのレイアウトに移行する
クイックスタート
- 1
Podfile に IGListKit pod を追加します
pod 'IGListKit', '~> 5.2.0' - 2
package URL を使って Xcode から Swift Package を追加します
- 3
Examples ディレクトリからサンプルアプリを開いて試します
使う前に知っておきたいこと
- iOS、tvOS、macOS のみを対象とし、macOS では diffing コンポーネントのみ利用できます。
- iOS 11.0 以降と Swift 5.1 以降が必要です。
- Objective-C で記述されているため、Swift ユーザーは相互運用機能を利用します。
トピック
よくある質問
- IGListKit とは?
- Instagram製のデータ駆動型UICollectionViewフレームワーク。自動差分計算により、高速で柔軟なiOSリストを構築できます。 IGListKitは、UICollectionView上にリストを構築するためのObjective-Cフレームワークです。performBatchUpdatesやreloadDataを手動で呼び出す代わりに、開発者がデータを定義すると、フレームワークが変更前後の状態の差分を計算し、UICollectionViewに更新を適用します。
- IGListKit は無料で使えますか?ライセンスは?
- IGListKit は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- IGListKit は今もメンテナンスされていますか?
- 活発にメンテナンス中。IGListKit の最終コミットは 2026年11月3日 です。
- IGListKit は何に使えますか?
- データが頻繁に変化するiOSアプリで、フィード形式や複数種類のコンテンツを含むリストを構築する 既存のコレクションビューで、performBatchUpdatesやreloadDataを手動で呼び出す処理を置き換える テーブルベースの画面をコレクションベースのレイアウトに移行する
- IGListKit のインストール方法は?
- Podfile に IGListKit pod を追加します: pod 'IGListKit', '~> 5.2.0' package URL を使って Xcode から Swift Package を追加します Examples ディレクトリからサンプルアプリを開いて試します
- IGListKit はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Instagram/IGListKit
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
写真アプリの編集画面を手本に、UIImageの切り抜き、回転、円形切り抜き、アスペクト比の固定に対応するiOS用ViewController。
スクロールを滑らかに保つため、UIKit風のインターフェースをバックグラウンドスレッドで非同期に描画するiOS/tvOSフレームワーク。
iOSとAndroidで写真・動画の撮影、QRコード/バーコードのスキャン、リアルタイムのフレーム処理ができるReact Nativeカメラライブラリ。
宣言的なTypeScriptコンポーネントをネイティブのiOS、Android、macOSビューにコンパイルするクロスプラットフォームUIフレームワーク。WebViewやJSブリッジは不要です。
JavaScriptバンドルの読み込み前、アプリ起動直後からネイティブ再生できるReact Native向けLottie・dotLottieスプラッシュ画面。