study record

[iOS] UITableViewCell (UIKit - UITableViewCell) 본문

iOS/iOS_Document

[iOS] UITableViewCell (UIKit - UITableViewCell)

asong 2022. 4. 19. 11:51

공식문서 https://developer.apple.com/documentation/uikit/uitableviewcell 를 읽고 정리한 글입니다.

 

UITableViewCell

테이블뷰의 하나의 행의 시각적 표현

@MainActor class UITableViewCell : UIView

 

Overview

UITableViewCell 객체는 하나의 테이블 행의 컨텐츠를 관리하는 뷰의 특별한 타입이다. 앱의 커스텀 컨텐츠를 표현하고 관리하기 위해 셀을 사용한다. 또한 UITableViewCell은 테이블 관련 행동들을 지원하기 위해 특정 커스텀을 제공한다.

- 섹션 적용 및 셀에 색깔 하이라이트

- 표준 액세사리 뷰들을 추가

- 편집가능한 상태로 셀을 넣기

- 테이블에 시각적 계층을 만들기 위해 셀의 컨텐츠 들여쓰기

 

앱의 컨텐츠는 셀의 bound를 차지한다. 셀은 또다른 컨텐츠를 위해 공간을 줄 수도 있다. 셀은 컨텐츠 공간의 trailing 엣지에 액세사리 뷰를 보여준다. 테이블에 편집 모드를 넣을 때, 선택적으로 액세사리 뷰를 내보낸다.

 

 

모든 테이블 뷰는 컨텐츠를 보여주기 위해 셀의 한 타입을 가져야 한다. 테이블은 다른 타입의 컨텐츠를 보여주기 위해 여러 셀 타입들을 가질 수도 있다. 테이블의 data source 객체는 셀이 화면에 나타나기 전에 셀을 생성하고 관리한다. 

 

셀 컨텐츠 설정

셀의 레이아웃과 컨텐츠를 스토리보드 파일에서 설정한다. 테이블들은 기본으로 하나의 셀 타입을 가진다. 그러나 테이블의 프로토타입 셀 속성의 값을 변경하는 것에 의해서 더 많이 추가할 수 있다. 셀의 컨텐츠 설정에 있어서 다음의 속성들을 설정하는 것을 확실히 해야 한다.

- Identifier : 셀의 생성을 위해 식별자를 사용한다.

- Style : 커스텀 셀을 정의 또는 표준 타입을 설정

- Class : UITableViewCell을 상속받는 클래스 설정

 

Topics

테이블뷰 셀 만들기

// 스타일과 재사용 식별자와 함께 테이블 셀을 초기화하고 호출한 곳에 리턴한다.
init(style: UITableViewCell.CellStyle, reuseIdentifier: String?)

// 셀들의 다양한 스타일을 위한 enum
enum UITableViewCell.CellStyle

init?(coder: NSCoder)

셀 재사용

// 재사용가능한 셀을 식별하기 위해 사용되는 string
var reuseIdentifier: String?

// 테이블뷰의 delegate에 의한 재사용 셀 준비
func prepareForReuse()