Sobes.tech
Junior — Middle

Heeft u in uw projecten gebruikgemaakt van Compositional Layout en kunt u uw ervaring met de implementatie ervan delen?

sobes.tech AI

Antwoord van AI

Compositional Layout is een krachtig hulpmiddel voor het maken van complexe en adaptieve collecties in iOS, geïntroduceerd in iOS 13. Het stelt je in staat om verschillende secties met verschillende layouts te beschrijven en te combineren, wat het maken van flexibele interfaces aanzienlijk vereenvoudigt.

In mijn projecten heb ik de Compositional Layout gebruikt om schermen te realiseren met meerdere typen cellen en secties, zoals een nieuwsoverzicht met horizontale en verticale lijsten, evenals rasterweergaven. Het belangrijkste voordeel is de mogelijkheid om de structuur en het gedrag van elke sectie declaratief te beschrijven, wat onderhoud en uitbreiding vergemakkelijkt.

Voorbeeld van het maken van een eenvoudige sectie met horizontale scroll:

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

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

let section = NSCollectionLayoutSection(group: group)
section.orthogonalScrollingBehavior = .continuous

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

Deze aanpak maakte het mogelijk om snel complexe UI's te maken zonder handmatig de afmetingen en posities van elementen te berekenen.