-
collectionView column 개수 정하기 - iPad에서 개수가 달라질 때iOS 2020. 4. 24. 18:15728x90
collectionView의 column(가로)에 보여지는 셀의 개수를 정하고 싶을 때는
flowLayout을 건드리는 방법부터 delegate를 이용하는 방법까지 많은 방법들이 있는데요,
검색해보면 많이 나오니 다들 잘 아실거라 생각해요.저는 주로 delegate를 이용하는 방법을 사용해왔었는데요, 최근 문제가 발생했습니다.
분명 interItem, inset 등을 모두 0으로 설정했는데!!!!
ipad에서 보니까 셀 사이에 여백이 생겨버리더랬죠. ☠️
flowLayout에서 제거해보고 별 짓을 다 해도 없어지지 않던 이 여백...문제는 itemSize에 있었습니다.
저는 collectionView.bounds.size.width를 원하는 개수만큼으로 나눠서 사용했었는데요,collectionView.bounds.size.width / 7
예를들면 이런식으로요.
하지만 단순히 이렇게 사용하면, 셀의 너비가 어정쩡할 경우,
6개까지는 만들었는데 7번째 셀을 만들기에는 공간이 좁은 그런 경우겠죠?이럴 때는 collectionView가 알아서 7번째 셀은 만들지 않고 대신 적절히 여백을 만들어 버립니다.
쓸데없이 똑똑하네요..해결책은 단순히 나누기를해서 끝내는 것이 아니라 적절히 반올림을 해주는 것입니다.
(collectionView.bounds.size.width / 7).rounded(.down)
이런식으로요 !!
혹시나 저같이 잘못 사용하고 계셨다면 당황하지 않으시길...
이외에도 cell의 개수를 정하는 방법은 다양하게 있습니다.
자세한 내용이 궁금하시다면 추천링크 하나 남겨드립니다.
감사합니다 :)
'iOS' 카테고리의 다른 글
iOS) 실 기기인지 simulator인지 확인하기 in Swift (0) 2020.06.10 #selector 에 parameter 전달하기 (2) 2020.06.04 cellForItemAt: 에서 select 해주기 (3) 2020.04.24 ImageView scaleAspectFit 하고 정렬해주기 (3) 2020.04.23 collectionView, tableView reloadData 완료 시점 (3) 2020.04.22