반응형
이번에 UICollectionView에 Compositional Layout 샘플코드를 작성해봤다.
DiffableDataSource도 같이 사용했다.
다음과 같은 UI를 구현하였다.
이미지를 보면 알겠지만, 위에 섹션은 가로스크롤 하단 섹션은 세로스크롤로 구성하였다.
가로스크롤 되는 Cell에 컬러값을 넣었지만, 실제로 API 통신 등을 통해 데이터를 불러오고,
불러온 데이터가 없으면 해당 섹션을 보여주지 않도록 구현하려고 했다.
내 지식으로는 데이터가 없으면 datasource에 apply 하지 않기 때문에 해당 영역이 눈에 보이지 않을 것이라고 생각했고,
생각대로 구현 되었다.
수정한 코드 조각은 다음과 같다.
구현된 UI는 다음과 같다. (iOS 18.x.x 환경)
그런데 iOS 14.x.x 환경에서는 아예 가려지지 않고 영역이 이상하게 잡혀있는 것을 확인했다.
난 정말 어이가없었다..
정말 삽질을 오래하며 이것저것 바꿔보고 했는데, 결론은 이녀석 때문이였다.
Section Layout을 설정할 때 가로스크롤을 위한 옵션을 하나 주려고 다음과 같은 코드를 작성했다.
해당 코드를 제거하니, 내가 원하는 동작이 되었다.
그런데, 이 코드를 제거하면 가로스크롤이 되지 않아서 방법을 찾아야했다.
음.. 뭐 아이템의 갯수가 1개 이상일 때만 해당 옵션을 주는 방식으로 구현했다.
개개인의 기존 코드가 어떻게 되어있을 지는 모르겠지만.. 이렇게 변경하였다.
암튼 해결해서 다행이고 짜증나서 포스팅했다..
반응형
'iOS > UIKit' 카테고리의 다른 글
[iOS] Apple Login 구현하기 (MVVM) (0) | 2023.06.27 |
---|---|
[iOS] UITableView를 사용해 Cell별로 알맞는 데이터 보여주기 (0) | 2023.01.04 |
[iOS] UITableView를 사용해서 화면에 Cell 나타내기 (0) | 2022.12.28 |
[iOS] UIImage Rendering Mode에 대해 알아보자! (0) | 2022.12.27 |
[iOS] Swift 키보드가 올라왔을 때, 아무키를 눌러도 키보드 호출함수 두번 발생? Xcode 버그? (0) | 2022.11.15 |