[iOS] UICollectionViewLayout

홍승현·2022년 10월 19일
0

CollectionView

목록 보기
1/3

UICollectionView는 생성할 때 collectionViewLayout(줄여서 layout이라 명명)을 필수로 생성하여 초기화하여야한다. 이 때 layout의 타입은 UICollectionViewLayout이다.
그렇다면 UICollectionViewLayout은 무엇이길래 필수로 생성해야 하는걸까?

UICollectionViewLayout

UICollectionView는 UICollectionViewCell을 보여주는 컨테이너이다. 그런데 이 Cell을 어떻게 보여줄지에 대해서는 CollectionView가 알지 못한다. 따라서 Cell의 배치, 크기, 간격, 등 여러 시각적으로 배열되는 요소는 도움을 받아야하는데 그것을 해결해줄 수 있는 녀석이 바로 layout이다.

collectionView는 배치 요소들을 설정하기 위한 collectionViewLayout이라는 프로퍼티를 갖고 있다. 이 프로퍼티를 이용해 Cell을 어떻게 배치할지를 알 수 있게 된다. 하지만 타입이 UICollectionViewLayout이라고 해서 해당 클래스를 직접 초기화하지는 말자. 이 녀석은 단순 껍데기일 뿐이다. 따라서 UICollectionViewLayout을 상속하는 Custom Class를 만들어 이에 대한 속성을 정의해주어야한다.

언제 이걸 구현하지..? 빡세네.. 🤯

다행히 애플에서 Layout에 대한 api를 만들어 둔 것이 있다. Custom이 필요한 상황이 아니라면, 아래 layout을 가지고 collectionView를 초기화하여 사용하면 된다.

  1. UICollectionViewFlowLayout
  2. UICollectionViewCompositionalLayout
profile
블로그 이전: https://whitehyun.notion.site

0개의 댓글