Xib를 이용해 UICollectionViewCell을 적용했을 때 제대로 표시되지 않는 문제 - boostcampwm-2021/iOS04-OwnMyWay GitHub Wiki

문제 상황

  • Custom Xib의 높이을 너비 비율에 맞춰서 동적으로 변화시키고 싶어서 CompositionalLayout의 estimated를 이용함
  • Xib에 오토레이아웃을 적용하고 CollectionView Compositional Layout을 적용시켰을 때 두개의 레이아웃이 충돌하는 상황이 발생
  • Xib에 오토레이아웃을 해제하면 Cell의 비율이 원하는 데로 그려지지 않음

해결

  • 셀의 높이:너비 비율의 제약을 설정하고 bottom에도 제약을 설정한다. 이 때, 두 개의 제약의 우선순위를 모두 required로 설정하면 레이아웃이 충동해 warning 메시지를 띄운다.
  • 비율과 bottom 중 우선적으로 적용되어야 하는 제약의 우선순위를 required로 설정하고 다른 제약은 그보다 낮은 High로 설정하면 warning 메시지를 띄우지도 않고 다양한 화면에도 동적으로 적용되는 Cell을 만들 수 있다.