단일 열의 행을 사용하여 데이터를 표시하는 View
@MainActor class UITableView : UIScrollView
iOS의 tableView는 세로 스크롤하는 내용의 행을 하나의 열에 표시한다. 표의 각 행에는 앱 컨텐츠 중 하나가 포함된다. 예를 들어, 연락처 앱은 각 연락처의 이름을 별도의 행에 표시하고 설정 앱의 메인 페이지에는 사용 가능한 설정 그룹이 표시된다. 하나의 긴 행 목록을 표시하도록 테이블을 구성하거나 관련 행을 섹션으로 그룹화하여 내용을 쉽게 탐색하게 할 수 있다.
UITableView는 테이블의 기본 모양을 관리하지만 앱은 실제 컨텐츠를 표시하는 셀(UITableView Cell 객체)을 제공한다. 표준 셀 구성은 텍스트와 이미지의 간단한 조합을 나타내지만 원하는 컨텐츠를 표시하는 사용자 정의 셀을 정의할 수 있다. 또한 섹션의 header와 footer에 View를 구성하여 추가적인 정보를 표시할 수 있다.
UITableViewCell
tableView에 표현 되는 단일 행(row)이다.
@MainActor class UITableViewCell : UIView
UITableViewCell 객체는 단일 테이블 행의 내용을 관리하는 특수한 유형의 View이다. 주로 셀을 사용하여 앱의 사용자 지정 컨텐츠를 구성하고 표시하지만 UITableViewCell은 다음과 같은 테이블 관련 동작을 지원하는 몇 가지 특정 사용자 지정 기능을 제공한다.
- 셀에 선택 항목 또는 강조 표시 색상 적용
- 상세 또는 disclosure 컨트롤과 같은 액세서리 뷰 추가
- 셀을 edit 가능한 상태로 전환
- 셀의 내용을 들여쓰기하여 테이블에 시각적 계층 구조를 만듦
앱의 컨텐츠가 셀의 bounds를 대부분 차지하지만, 다른 컨텐츠를 저장할 공간을 만들기 위해 그 공간을 조정할 수 있다. 셀은 내용 영역의 맨 뒤에 있는 모서리에 액세서리 뷰를 표시한다. 테이블을 편집 모드로 전환하면 셀은 내용 영역의 맨 앞에 삭제 컨트롤을 추가하고 선택적으로 순서 변경을 위해 액세서리 뷰를 바꾼다.
모든 테이블 뷰에는 컨텐츠를 표시하기 위해 적어도 하나의 cell type이 있어야 하며, 테이블은 여러 개의 cell type을 가질 수 있으므로 다른 유형의 컨텐츠를 표시할 수 있다. 테이블의 데이터 원본 객체는 셀이 화면에 나타나기 바로 전에 셀의 생성 및 구성을 처리한다.
다음 포스팅에서는 UITableViewDataSource와 UITableViewDelegate에 대해 알아보자.
참고
- https://developer.apple.com/documentation/uikit/uitableviewcell
- https://developer.apple.com/documentation/uikit/uitableview
'iOS > iOS' 카테고리의 다른 글
[iOS] UIAlertController를 이용한 메시지 창 (0) | 2021.12.07 |
---|---|
[iOS] UITableView 알아보기 - 2 (0) | 2021.12.06 |
[iOS] @IBInspectable, @IBDesignable (0) | 2021.12.05 |
[iOS] UIStackView (0) | 2021.12.05 |
[iOS] 다른 화면으로 데이터 전달하기 (0) | 2021.12.03 |
댓글