// MARK: - 섹션 만들기
func createSection() -> NSCollectionLayoutSection {
let section = NSCollectionLayoutSection(group: self.createGroup())
// ...
return section
}
// MARK: - 그룹 만들기
func createGroup() -> NSCollectionLayoutGroup {
// 칼럼 개수
let NUMBER_OF_COLUMNS = // 파라미터 또는 지역 변수 사용 등
// 그룹 사이즈
// - 너비는 섹션 너비만큼 차지, 높이는 섹션 너비를 칼럼 개수로 나눈 만큼을 차지
// - 반대로 아이템은, 높이는 그룹 높이만큼 차지하되 너비를 그룹 너비를 칼럼 개수로 나눈 만큼을 차지
// - 이렇게 정사각형의 아이템이 만들어질 수 있습니다.
let size = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .fractionalWidth(1.0 / NUMBER_OF_COLUMNS))
// 그룹 정의
let group = NSCollectionLayoutGroup.horizontal(layoutSize: size, repeatingSubitem: self.createItem(), count: NUMBER_OF_COLUMNS)
// ...
return group
}
// MARK: - 아이템 만들기
func createItem() -> NSCollectionLayoutItem {
let NUMBER_OF_COLUMNS = // 파라미터 또는 지역 변수 사용 등
// 아이템 사이즈
let size = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0 / NUMBER_OF_COLUMNS), heightDimension: .fractionalHeight(1))
// 아이템 정의
let item = NSCollectionLayoutItem(layoutSize: size)
// ...
return item
}
-
Notifications
You must be signed in to change notification settings - Fork 1
sangeui/UICollectionView-Compositional-Layout
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description or website provided.