티스토리 뷰
안녕하세요. 오늘은 간단한 내용으로 작성해볼까합니다.
혹시 UICollectionView 를 사용하다가 Cell 사이즈가 안 바뀐적 있나요?
일반적으로 Cell 사이즈를 지정할때 아래 함수를 많이 쓰게 됩니다. (sizeForItemAt)
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let width = collectionView.frame.width
let itemsPerRow: CGFloat = 2// 각 렬당 2개
let widthPadding = 8 * (itemsPerRow + 1)
let cellWidth = (width - widthPadding) / itemsPerRow
return CGSize(width: cellWidth, height: 58)
}
여기까지는 대부분 많이 하시죠?
하지만 이렇게 만들어도 간혹 Cell 사이즈가 바뀌지 않는 경우가 있는데
이 경우에는 보통 저는 아래 두가지를 안했을때 나타나더라고요.
1. UICollectionViewDelegateFlowLayout 을 추가안해준 경우
- 기본적으로 다른 건 자동으로 추가되지만 저 친구(?)는 따로 추가해주셔야 합니다.
- 선언을 안하면 일부 코드가 작동을 안 할 수 있으니 주의해주세요 (주로 사이즈나 레이아웃 관련)
class ViewController: .... , UICollectionViewDelegateFlowLayout
2. Estimate Size 를 None 으로 지정 안한 경우
- 이 설정을 안하면 자동으로 지정된 사이즈가 출력되기도 합니다.
- 자신이 원하는 Cell 사이즈가 있다면 반드시 Storyboard 에서 설정해주세요.
오늘은 UICollectionView 를 사용할때 자주하는 실수(?)를 담아보았습니다.
처음 하시거나 익숙치 않으신 분들에게 조금이나마 도움이 되었으면 좋겠네요.
그럼 오늘도 파이팅입니다.
'iOS개발 > Swift 기본' 카테고리의 다른 글
UICollectionView reloadData 이후 이벤트 처리 (0) | 2023.09.18 |
---|---|
Swift Date 타입을 활용해보자 (덧셈,뺄셈등) (0) | 2023.09.13 |
Swift 스크롤 뷰 페이저 (회전 뷰) 만들기 (Carousel View) (0) | 2023.09.05 |
swift 한글 받침 확인 하는 방법 (0) | 2023.08.03 |
swift 여백 클릭해서 창닫기 (0) | 2023.07.03 |
댓글