Готовая к подключению библиотека для iOS, которая не даёт клавиатуре перекрывать UITextField и UITextView, — без дополнительного кода.
Instagram/IGListKit
Фреймворк Instagram на основе данных для создания быстрых и гибких списков в iOS с автоматическим вычислением различий.
- Звёзды
- 13,080
- Форки
- 1,540
- Открытые issues
- 65
- Последний коммит
- 3 дня назад
Что это?
IGListKit — фреймворк на Objective-C для создания списков на базе UICollectionView. Вместо ручного вызова performBatchUpdates или reloadData разработчики описывают данные, а фреймворк вычисляет различия между прежним и новым состоянием и применяет обновления к коллекции.
Фреймворк отделяет модели данных от логики представления с помощью контроллеров секций. Благодаря им одна коллекция может содержать разные типы данных и переиспользуемые ячейки или компоненты. Независимый алгоритм сравнивает элементы, а разработчики могут настраивать способ сравнения моделей. Компоненты для вычисления различий поддерживают iOS, tvOS и macOS; также предусмотрена полноценная совместимость со Swift.
IGListKit поддерживает команда инженеров Instagram, и фреймворк используется в приложении Instagram. Его можно установить через CocoaPods, Carthage и Swift Package Manager; примеры приложений находятся в каталоге Examples.
Ключевые возможности
- 01Автоматически вычисляет различия и применяет пакетные обновления к UICollectionView
- 02Поддерживает коллекции с разными типами данных с помощью контроллеров секций
- 03Настраиваемое сравнение моделей
- 04Независимый алгоритм вычисления различий, который можно использовать отдельно
- 05Полноценная совместимость со Swift
Сценарии использования
- Создание списков в стиле ленты или списков со смешанным содержимым в приложении для iOS, где данные часто меняются
- Замена ручной логики performBatchUpdates и reloadData в существующих коллекциях
- Перевод экранов с табличной разметкой на коллекционные макеты
Быстрый старт
- 1
Добавьте pod IGListKit в Podfile
pod 'IGListKit', '~> 5.2.0' - 2
Добавьте Swift Package через Xcode, используя URL пакета
- 3
Откройте пример приложения из каталога Examples, чтобы попробовать его
Что важно знать
- Поддерживаются только iOS, tvOS и macOS; на macOS доступны только компоненты diffing.
- Требуется iOS 11.0 или новее и Swift 5.1 или новее.
- Написан на Objective-C, поэтому пользователям Swift нужна совместимость между языками.
Темы
Частые вопросы
- Что такое IGListKit?
- Фреймворк Instagram на основе данных для создания быстрых и гибких списков в iOS с автоматическим вычислением различий. IGListKit — фреймворк на Objective-C для создания списков на базе UICollectionView. Вместо ручного вызова performBatchUpdates или reloadData разработчики описывают данные, а фреймворк вычисляет различия между прежним и новым состоянием и применяет обновления к коллекции.
- IGListKit можно использовать бесплатно? Какая у него лицензия?
- IGListKit распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- IGListKit всё ещё поддерживается?
- Активно поддерживается. Последний коммит в IGListKit — 3 нояб. 2026 г..
- Для чего можно использовать IGListKit?
- Создание списков в стиле ленты или списков со смешанным содержимым в приложении для iOS, где данные часто меняются Замена ручной логики performBatchUpdates и reloadData в существующих коллекциях Перевод экранов с табличной разметкой на коллекционные макеты
- Как установить IGListKit?
- Добавьте pod IGListKit в Podfile: pod 'IGListKit', '~> 5.2.0' Добавьте Swift Package через Xcode, используя URL пакета Откройте пример приложения из каталога Examples, чтобы попробовать его
- Где скачать IGListKit?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Instagram/IGListKit
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Контроллер представления iOS для обрезки объектов UIImage: поворот, круглая обрезка и фиксация соотношения сторон — по образцу редактора приложения «Фото».
Фреймворк для iOS и tvOS, который асинхронно отрисовывает интерфейсы в стиле UIKit в фоновых потоках, обеспечивая плавную прокрутку.
Библиотека камеры для React Native: фото- и видеосъёмка, сканирование QR-кодов и штрихкодов, обработка кадров в реальном времени на iOS и Android.
Кроссплатформенный UI-фреймворк, который компилирует декларативные компоненты TypeScript в нативные представления iOS, Android и macOS без web view и JS-мостов.
Lottie- и dotLottie-заставки для React Native, которые запускаются нативно вместе с приложением, ещё до загрузки JavaScript-бандла.