Sobes.tech
Junior — Middle

Pode explicar o que se entende por Compositional Layout e como é utilizado?

sobes.tech IA

Resposta da IA

Compositional Layout é uma forma moderna de criar layouts complexos e flexíveis no UICollectionView no iOS, apresentado pela Apple a partir do iOS 13.

Permite descrever a estrutura da coleção usando uma hierarquia de seções, grupos e elementos, onde cada parte pode ter seus próprios tamanhos, margens e orientação. Isso simplifica a criação de interfaces complexas com diferentes tipos de células e layouts sem a necessidade de calcular manualmente as posições.

Exemplo de uso:

let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),
                                      heightDimension: .fractionalHeight(1.0))
let item = NSCollectionLayoutItem(layoutSize: itemSize)

let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0),
                                       heightDimension: .absolute(44))
let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item])

let section = NSCollectionLayoutSection(group: group)

let layout = UICollectionViewCompositionalLayout(section: section)
collectionView.collectionViewLayout = layout

Assim, o Compositional Layout fornece uma ferramenta poderosa e declarativa para construir coleções adaptativas e complexas.