일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Swift
- noncopyable
- 클로저
- 리스트뷰
- 차이
- 안드로이드
- 프로퍼티
- RxSwift
- 자바
- 백준
- 프래그먼트
- weak
- Self
- 프로그래머스
- ios
- observable
- 구조체
- rx
- async
- 옵셔널
- View
- 스위프트
- 연산자
- Subject
- 생명주기
- concurrency
- 이스케이핑
- 해시
- 알고리즘
- 풀이
- Today
- Total
study record
[iOS] UITableViewCell (UIKit - UITableViewCell) 본문
공식문서 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()
'iOS > iOS_Document' 카테고리의 다른 글
[iOS] UIViewController (UIKit - UIViewController) (0) | 2022.04.28 |
---|---|
[iOS] UICollectionView (UIKit - UICollectionView) (0) | 2022.04.26 |
[iOS] URLSession (Foundation - URLSession) (0) | 2022.04.20 |
[iOS] UITableView (UIKit - UITableView) (0) | 2022.04.18 |
[iOS] TableViews (UIKit - Views and Controls - TableViews) (0) | 2022.04.15 |