Swift-пакет для добавления в приложения macOS глобальных настраиваемых пользователем клавиатурных сочетаний с готовым интерфейсом для их записи.
exyte/Grid
Контейнер сетки для SwiftUI на Swift, вдохновлённый CSS Grid: поддерживает гибкие, фиксированные и зависящие от содержимого треки, объединение ячеек и явное размещение.
- Звёзды
- 2,124
- Форки
- 101
- Открытые issues
- 4
- Последний коммит
- вчера
Что это?
Grid — библиотека на Swift, добавляющая в SwiftUI контейнер для сеточной раскладки по модели CSS Grid. Она позволяет располагать представления в строках и столбцах, задавая размеры треков в фиксированных пунктах, гибких дробных единицах или в зависимости от содержимого. Встроенные стеки и ленивые сетки SwiftUI не поддерживают эту комбинацию размеров треков, объединения ячеек и управления размещением из коробки.
Элементы можно растягивать на несколько треков, размещать в заданных строках или столбцах и упаковывать в разреженном или плотном режиме. Контейнер поддерживает заполнение по строкам или столбцам, прокручиваемый режим и режим заполнения, выравнивание отдельных элементов и всей сетки, разные варианты интервалов и анимированные обновления. Представления также можно объединять с помощью GridGroup, а условные конструкции поддерживаются специальным result builder.
Библиотеку можно подключить через Swift Package Manager или CocoaPods. Она поддерживает iOS 14 и новее, macOS 10.15 и новее, а также tvOS. Лицензия — MIT.
Ключевые возможности
- 01Размеры треков задаются в фиксированных пунктах, гибких единицах fr или в зависимости от содержимого
- 02Представления можно растягивать на несколько строк или столбцов с помощью gridSpan
- 03Явное размещение по строкам и столбцам с помощью gridStart
- 04Заполнение по строкам или столбцам с разреженной или плотной упаковкой
- 05Прокручиваемый режим и режим заполнения содержимым
- 06Выравнивание отдельных элементов и всей сетки, а также анимированное обновление содержимого
Сценарии использования
- Создание дашбордов и карточных раскладок в SwiftUI с сочетанием фиксированных и гибких столбцов
- Создание сеток кнопок в стиле калькулятора или фотогалерей с объединёнными ячейками
- Перенос концепций раскладки CSS Grid в нативные приложения для iOS или macOS
Быстрый старт
- 1
Добавьте пакет через Swift Package Manager в Xcode, указав URL репозитория https://github.com/exyte/Grid
- 2
Или добавьте pod в Podfile, если используете CocoaPods
pod 'ExyteGrid' - 3
Используйте Grid(tracks: 3) и размещайте представления внутри его closure
Что важно знать
- Требуются iOS 14.0 или новее либо macOS 10.15 или новее, а также Xcode 12 или новее, поэтому библиотека работает только на платформах Apple.
- В обычном ViewBuilder можно разместить не более 10 представлений, поэтому для более крупных сеток нужен GridGroup.
В подборках
Темы
Частые вопросы
- Что такое Grid?
- Контейнер сетки для SwiftUI на Swift, вдохновлённый CSS Grid: поддерживает гибкие, фиксированные и зависящие от содержимого треки, объединение ячеек и явное размещение. Grid — библиотека на Swift, добавляющая в SwiftUI контейнер для сеточной раскладки по модели CSS Grid. Она позволяет располагать представления в строках и столбцах, задавая размеры треков в фиксированных пунктах, гибких дробных единицах или в зависимости от содержимого. Встроенные стеки и ленивые сетки SwiftUI не поддерживают эту комбинацию размеров треков, объединения ячеек и управления размещением из коробки.
- Grid можно использовать бесплатно? Какая у него лицензия?
- Grid распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- Grid всё ещё поддерживается?
- Активно поддерживается. Последний коммит в Grid — 6 нояб. 2026 г..
- Для чего можно использовать Grid?
- Создание дашбордов и карточных раскладок в SwiftUI с сочетанием фиксированных и гибких столбцов Создание сеток кнопок в стиле калькулятора или фотогалерей с объединёнными ячейками Перенос концепций раскладки CSS Grid в нативные приложения для iOS или macOS
- Как установить Grid?
- Добавьте пакет через Swift Package Manager в Xcode, указав URL репозитория https://github.com/exyte/Grid Или добавьте pod в Podfile, если используете CocoaPods: pod 'ExyteGrid' Используйте Grid(tracks: 3) и размещайте представления внутри его closure
- Где скачать Grid?
- Исходный код и инструкции по установке — на GitHub: https://github.com/exyte/Grid
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека Go для создания PDF-документов на основе gofpdf с сеткой строк и столбцов в стиле Bootstrap.
Swift-пакет, расширяющий возможности SwiftUI дополнительными представлениями, расширениями и обёртками для функций UIKit и AppKit.
Лёгкая библиотека на чистом Swift для загрузки, кэширования и отображения изображений из интернета в приложениях для iOS, macOS и SwiftUI.
Клиент Mastodon с открытым исходным кодом на SwiftUI для iOS, macOS, iPadOS и visionOS.
Библиотека Swift, позволяющая SwiftUI-коду обращаться к лежащему в основе представления SwiftUI объекту UIKit или AppKit и настраивать его.