UITableView vs UICollectionView

Eden·2025년 6월 23일

iOS 개발을 하다 보면 리스트 형태의 데이터를 화면에 표시해야 할 때가 자주 있습니다. 이럴 때 가장 먼저 떠오르는 컴포넌트가 UITableViewUICollectionView입니다. 둘 다 강력하고 유용하지만, 상황에 따라 적절히 선택해야 효율적인 UI/UX를 만들 수 있습니다.


1. 공통점 📌

  • 데이터를 셀 단위로 구성
  • 스크롤 가능
  • 재사용 가능한 셀 시스템 제공
  • DataSource / Delegate 패턴 사용
  • 커스터마이징 가능 (헤더/푸터, 셀 크기 등)

2. UITableView의 특징 📝

항목설명
구조수직 스크롤의 단일 열 (Column)
섹션 지원있음 (header/footer 포함)
셀 높이고정 또는 동적 지정 가능
적합한 UI단순한 리스트, 채팅 목록, 설정 화면 등
커스터마이징제한적이지만 실용적
코드 작성량UICollectionView보다 간결함

✅ 적합한 경우

  • 뉴스 피드, 채팅 UI, 전화번호부처럼 단순한 리스트 중심의 UI
  • 빠르게 구현이 필요할 때

3. UICollectionView의 특징 🧩

항목설명
구조수직/수평 스크롤, 다중 열 지원
레이아웃자유로운 커스터마이징 가능 (FlowLayout, Compositional 등)
셀 크기셀마다 다르게 지정 가능
적합한 UI갤러리, 그리드 뷰, 카테고리 선택 UI 등
커스터마이징매우 유연하고 강력
코드 작성량상대적으로 복잡함

✅ 적합한 경우

  • 이미지 그리드, 태그 리스트, 가로 스크롤 캐러셀 등 다양한 레이아웃이 필요한 경우
  • 복잡한 레이아웃이나 셀 크기 제어가 필요한 경우

4. 어떤 걸 선택해야 할까? 🎯

조건추천 컴포넌트
단순 리스트UITableView
동적 크기의 셀UICollectionView
가로 스크롤UICollectionView
복잡한 그리드 레이아웃UICollectionView
구현 속도, 유지보수UITableView
iOS 13+ & Compositional Layout 사용UICollectionView

5. 결론 🏁

UITableViewUICollectionView
빠른 구현, 간결한 구조유연한 레이아웃, 고급 UI 가능
단일 열 리스트에 적합그리드 또는 다양한 형태의 레이아웃에 적합
코드가 간단하고 가독성 높음더 많은 설정과 코드가 필요함

📌 Tip: 처음에는 UITableView로 시작하되, UI 요구사항이 복잡해질수록 UICollectionView로 전환을 고려하세요.


✅ 참고 예시

  • UITableView 예: 메시지 앱, 설정 화면
  • UICollectionView 예: 사진 갤러리, 스토어 UI, 태그 선택 UI

둘 다 잘 다룰 줄 아는 것이 iOS 개발자로서의 큰 무기입니다. 상황에 맞는 선택으로 더 깔끔하고 유연한 앱을 만들어보세요!

profile
iOS Dev

0개의 댓글