나의 기록, 현진록

[IOS] UITableViewCell / 테이블 뷰 셀 본문

iOS

[IOS] UITableViewCell / 테이블 뷰 셀

guswlsdk 2021. 7. 14. 00:22
반응형

테이블 뷰

  1. 동적 프로토타입
    • 셀 하나를 디자인 해 이를 다른 셀의 템플릿으로 사용하는 방식
    • 같은 레이아웃의 셀을 여러 개 이용해 정보를 표시할 경우
    • 데이터 소스(UITableDataSource) 인스턴스에 의해 콘텐츠를 관리하며, 셀의 개수가 상황에 따라 변하는 경우에 사용
  2. 정적 셀
    • 고유의 레이아웃과 고정된 수의 행을 가지는 테이블 뷰에 사용
    • 테이블 뷰를 디자인하는 시점에 테이블의 형태와 셀의 개수가 정해져 있는 경우 사용
    • 셀의 개수가 변하지 않음

테이블 뷰를 구성하기 위해 알아야 하는 개념

1. 셀

2. 델리게이트

3. 데이터소스

 

테이블뷰 셀은 테이블뷰를 이루는 개별적인 행으로 UITableViewCell 클래스를 상속 받는다.

 

이 클래스에 정의된 표준 스타일을 활용해 문자열 혹은 이미지를 제공하는 셀을 생성할 수 있으며, 커스텀 서브뷰를 올려 다양한 시각적 모습을 나타낼 수 있다.

 

 

 

테이블뷰 편집 모드로 전환하면 아래와 같은 구조로 바뀐다.

 

 

 

 

 

테이블뷰 셀의 표준 스타일

 

이미지가 오른쪽으로 확장됨에 따라 문자열이 오른쪽으로 밀려납니다.

 

  • textLabel : UILabel // 주제목 레이블
  • detailTextLabel: UILabel //추가 세부 사항 표시를 위한 부제목 레이블
  • imageView: UIImageView //이미지 표시를 위한 이미지 뷰

 

 

 

커스텀 뷰 셀의 기본 기능

  • UITableViewCell 클래스에서 제공하는 표준 스타일 셀을 이용해 이미지와 문자열을 표현하고 글꼴 및 색상 등을 수정할 수 있지만, 기본 형태를 벗어나 다양한 애플리케이션의 요구를 충족시키기 위해 셀을 커스텀 할 수 있습니다. 
  • 셀을 커스텀 하는 방법에는 크게 두 가지 방법이 있는데, 스토리보드를 이용하거나 코드로 구현할 수 있습니다.
    • 셀의 콘텐츠 뷰에 서브뷰 추가하기
    • UITableViewCell의 커스텀 서브클래스 만들기

 

 

UITableViewCell의 서브클래스를 이용해 커스텀 이미지뷰를 생성하는 경우, 이미지뷰의 변수명을 imageView로 명명하면 기본 이미지뷰 프로퍼티와 변수명이 같아 원하는 대로 동작하지 않을 수 있기 때문에 반드시 커스텀 이미지뷰의 변수명은 다르게 지어야한다. 이는 모든 기본 프로퍼티 이름 모두 마찬가지이다.

반응형