Collectionview에 큰 이미지를 표시해야 할 때 UICollectionViewCompositionalLayout list layout 사용 금지

jane·2022년 8월 25일
0

iOS

목록 보기
28/32
post-thumbnail

문제 상황

Layout이 UICollectionViewCompositionalLayout list인 Collectionview에 큰 이미지를 표시하려고 하니 셀 크기가 제 멋대로 커졌다가 줄어드는 현상이 발생함

문제 상황시 collectionview 세팅은...

  • UICollectionViewCompositionalLayout list
var config = UICollectionLayoutListConfiguration(appearance: .insetGrouped)
let layout = UICollectionViewCompositionalLayout.list(using: config)
  • xib 파일로 커스텀 셀 생성하여 등록해줌

문제 해결을 위한 노력

  1. 이미지뷰의 content hugging priority를 높히고 content resistance priority도 높혀서 이미지뷰가 커지거나 작아지지 못하도록 막았음.
    -> 그러나 여전히 이미지뷰가 커지거나 작아져 셀 전체 높이도 바뀌는 현상 발생

  2. 셀의 높이, 너비와 이미지뷰의 높이, 너비를 아예 지정해줌
    -> 그랬더니 레이아웃 깨져버림... 아니 셀의 높이를 110으로 정했는데 갑자기 44라는 높이는 어디서 나온거냐? 😨

  3. 결국 UICollectionViewCompositionalLayout list 대신 UICollectionViewFlowLayout 사용하였음.
    그랬더니 문제 바로 해결 ㅋㅋㅋ 🥲

작은 이미지를 표현할때는 문제가 없었는데...
이미지 크기가 커지면 레이아웃이 꼬이는 문제가 생기는 것 같다.

UICollectionViewCompositionalLayout list는 아래와 같이 이렇게 간단한 테이블뷰같은 리스트를 생성하는 용도로 사용해야 할 것 같다.

profile
제가 나중에 다시 보려고 기록합니다 ✏️

0개의 댓글