<aside> ❗ 기본은 위에서 아래로 cell 이 추가되는 형식으로 지정되는 듯

</aside>

Grid Layout

설명에서는 Fractional Sizing 사용 → .fractionalWidth()

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

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

let section = NSCollectionLayoutSection(group: group)

let layout = UICollectionViewCompositionalLayout(section: section)
return layout

itemSize 설정 ( 포함된 group 의 사이즈의 비율로 들어감 ) → item 에 적용

groupSize 설정 → group 에 적용 → section 에 포함시키기 → layout 에 적용

Spacing Around Items

let item = NSCollectionLayoutItem(layoutSize: itemSize)
item.contentInset = NSDirectionalEdgeInsets(top: ,leading: ,bottom: ,trailing: )

설정한 itemNSDirectionalEdgeInsets 타입으로 contentInset 설정하면 됨

Column Layout

horizontal(layoutSize:subitem:count:) 사용해서 Column layout 생성 가능 itemSize 를 지정해도, count 에 들어가는 값에 맞게 비율이 조절됨 → count 가 더 상위 제약을 가져감

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, subitem: item, count: 2)
let spacing = CGFloat(10)
group.interItemSpacing = .fixed(spacing)

Distinct Layouts Per Section