티스토리 뷰

iOS

[iOS] UICollectionViewFlowLayout 알아보기

Kim_Baechu 2021. 1. 14. 23:45

UICollectionViewFlowLayout

각각의 섹션에 옵셔널 헤더와 푸터뷰를 정리하는 레이아웃 객체

 

FlowLayout은 컬렉션 뷰 레이아웃의 한 type입니다.

컬렉션 뷰의 아이템은 스크롤 방향에 따라 한 행 또는 열에서 다음 행으로 이동하며 각 행에는 적절한 수만큼 포함합니다. (스크롤링 방향에 따라)

셀 크기는 동일하거나 다를 수 있습니다.

 

FlowLayout은 컬렉션 뷰의 델리게이트 객체와 함께 각 섹션과 그리드에서 아이템, 헤더, 푸터의 크기를 결정합니다.

그 델리게이트 객체는 UICollectionViewDelegateFlowLayout 프로토콜을 준수해야 합니다.

델리게이트를 사용해서 동적으로 레이아웃 정보를 조정할 수 있습니다.

예를 들어 델리게이트객체를 사용해서 다른 사이즈의 아이템 그리드를 만들 수 있습니다.

델리게이트를 제공하지 않는 경우 flow레이아웃은 이 클래스의 프로퍼티에 설정한 기본값을 사용합니다.

 

FlowLayout은 한 방향의 고정된 거리 및 다른 방향의 스크롤 가능한 거리를 사용하여 내용을 배치합니다.

예를 들어, 수직 스크롤 그리드에서 그리드 컨텐츠의 너비는 해당 컬렉션 뷰의 너비로 제한되는 반면 컨텐츠의 높이는 그리드의 섹션과 항목 수에 맞게 동적으로 조정됩니다.

레이아웃은 기본적으로 수직으로 스크롤되지만 scrollDirection 프로퍼티를 사용해서 설정할 수 있습니다.

 

FlowLayout의 각 섹션에는 각각의 커스텀 헤더와 푸터를 가질 수 있습니다.

헤더, 푸터 뷰를 설정하려면 0이 아닌 크기로 설정하세요.

적절한 델리게이트 메서드를 구현하거나 적절한 값을 headerReferenceSize와 footerReferenceSize 프로퍼티에 할당하세요.

헤더나 푸터 사이즈가 0이면 해당 뷰는 컬렉션 뷰에 추가되지 않습니다.

 

 

developer.apple.com/documentation/uikit/uicollectionviewflowlayout

 

Apple Developer Documentation

 

developer.apple.com

 

댓글
공지사항