← Cloudflare Realtime / realtime / realtimekit / ui-kit / api-reference / ios
GridView
Универсальное представление сеточной раскладки, которое размещает дочерние представления в адаптивной сетке. Поддерживает как портретную, так и альбомную ориентацию с настраиваемым максимальным количеством элементов.
Параметры инициализатора
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
maxItems |
UInt |
❌ | 9 |
Максимальное количество элементов, которое может отобразить сетка |
showingCurrently |
UInt |
✅ | - | Количество элементов, видимых в сетке в данный момент |
getChildView |
@escaping () -> CellContainerView |
✅ | - | Замыкание-фабрика, которое создаёт новое дочернее представление для каждой ячейки сетки |
Методы
| Метод | Возвращаемый тип | Описание |
|---|---|---|
settingFrames(visibleItemCount:animation:completion:) |
Void |
Располагает дочерние представления в портретной ориентации с необязательной анимацией |
settingFramesForLandScape(visibleItemCount:animation:completion:) |
Void |
Располагает дочерние представления в альбомной ориентации с необязательной анимацией |
childView(index:) |
CellContainerView? |
Возвращает дочернее представление по указанному индексу |
prepareForReuse(childView:) |
Void |
Подготавливает дочернее представление к повторному использованию |
Примеры использования
Базовое использование
import RealtimeKitUI
let gridView = GridView(
maxItems: 6,
showingCurrently: 4,
getChildView: {
return CellContainerView()
}
)
view.addSubview(gridView)Обновление макета
import RealtimeKitUI
let gridView = GridView(
maxItems: 9,
showingCurrently: 3,
getChildView: {
return CellContainerView()
}
)
view.addSubview(gridView)
// Update layout with animation
gridView.settingFrames(
visibleItemCount: 4,
animation: true,
completion: {
print("Layout updated")
}
)