INTEGRITY Документация

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")
    }
)