iOS

[iOS] UITableView 알아보기 (1) - UITableView, UITableViewCell이 뭐야?

2021. 10. 5. 22:16

UITableView에 있는 delegate와 datasource 연결하는 것부터 UITableViewCell을 xib로 만들어서 쓰는 것,

tableview section과 description 등등 이것저것 매번 구현할 때마다 까먹고 또 찾아서 확인하는 게 귀찮아서 정리하는 포스팅입니다.

 

UITableView는 뭘까?

UITableView는 여러 데이터를 행으로 나타내고 싶을 때 사용한다. 수직 스크롤을 통해 위아래로 이동할 수 있고 이동할 때마다 tableview에서 노출해야 하는 데이터를 노출해준다. 아이폰 기본 앱에서 찾아본다면 메시지, 연락처, 설정 화면은 tableView로 구현되어있을 것 같다.

 

tableView는 사용자가 확인해야 하는 데이터를 행으로 노출하기 위해 UITableViewCell을 사용한다. Cell 내부에 사용자가 확인해야 하는 데이터를 세팅해서 보여주게 된다. Cell에서 표현해야 하는 UI가 복잡하다면 UITableViewCell을 커스텀해서 사용할 수 있다.

 

또한 tableView에서는 원하는 데이터들끼리 분류해서 보여줄 수 있도록 Section이라는 개념이 존재한다. 각 Section은 section이 어떤 데이터를 갖고 있는지 설명이 필요하다면 Header와 Footer를 추가할 수 있고, Header, Footer또한 UITableViewCell처럼 커스텀이 가능하다.

 

설정 화면에서 볼 수 있는 UITableView

 

UITableViewCell은 뭘까?

 

UITableView에서 실질적으로 정보를 노출하도록 도와주는 친구. 위 설정화면으로 치면 설정 화면에서 사용하는 셀은 기본적으로 문구를 표현하도록 UILabel이 있고, 오른쪽에는 때에 따라 UISwitch나 Checkmark가 노출될 수 있어야 한다. 이 UISwitch나 Checkmark가 있는 부분을 Accessory view로 칭한다.

 

셀을 터치했을 때 터치 했음을 알 수 있도록 Selection Style을 지정할 수 있다. Selection Style은 UITableViewCell.SelectionStyle enum으로 정의되어있는데, none, blue, gray, `default` 로 지정해서 사용할 수 있다. 셀을 눌렀을 때 각각 아무 효과 없음, 파란색으로 배경이 변함, 회색으로 배경이 변함, default 설정으로 효과가 나타나도록 한다. (다음 포스팅에서 각각 어떤 모양인지 확인해보자)

 

cell delete

 

또한 UITableViewCell은 edit 모드가 있다. 파일 앱에서 edit모드로 진입했을 때, 아래 Tags 셀들의 왼쪽에 삭제 버튼이 나타난다. 삭제 아이콘을 누르면 아래와 같이 삭제할 건지 한 번 더 확인할 수 있도록 변경된다. 또 오른쪽에는 순서를 변경할 수 있도록 reordered control이 나온다.

 

그럼 이제 tableView가 여러 데이터를 행으로 나타내고 싶을 때 사용하는 거고, 여러 데이터를 행으로 나타내기 위해서는 UITableViewCell을 사용해야 하는 걸 알았으니 다음 포스팅에서는 실제로 UITableView에 어떻게 데이터를 나타내는지 확인해보자.

 

 

반응형
저작자표시 비영리 변경금지

'iOS' 카테고리의 다른 글

[iOS] UITableView 알아보기 (2) - UITableViewDelegate, UITableViewDataSource  (0) 2021.10.07
Apple Developer Documentation에서 API Changes 확인하기  (0) 2021.10.07
[iOS] UIView에 border 추가하기 / 모서리 둥글게 하기 - 코드, 스토리보드  (0) 2021.09.09
[iOS] Clean Swift (VIP Pattern)  (0) 2021.09.07
[iOS] MVC Pattern + 예제코드  (0) 2021.09.06
'iOS' 카테고리의 다른 글
  • [iOS] UITableView 알아보기 (2) - UITableViewDelegate, UITableViewDataSource
  • Apple Developer Documentation에서 API Changes 확인하기
  • [iOS] UIView에 border 추가하기 / 모서리 둥글게 하기 - 코드, 스토리보드
  • [iOS] Clean Swift (VIP Pattern)
eunjuicy
eunjuicy
eunjuicy
TIL
eunjuicy
전체
오늘
어제
  • 분류 전체보기
    • iOS
    • Swift
    • WWDC
    • SwiftUI
      • Planting-Mind Dev Log
    • RxSwift
    • Algorithm
    • python
    • books
      • clean code

블로그 메뉴

  • 홈
  • GitHub
  • github.io

공지사항

인기 글

태그

  • fullscreencover
  • 릿코드
  • dictionary
  • fileimporter
  • 알고리즘
  • deinit
  • ios
  • fileexporter
  • updateValues
  • SwiftUI
  • uttype
  • swifttesting
  • init
  • wwdc2024
  • LeetCode
  • removeValue
  • 파이썬json파싱하기
  • UITableViewDelegate
  • UITableView
  • UITest
  • Swift
  • Xcode
  • algorithm
  • appledeveloperdocumentation
  • 오블완
  • UITableViewDataSource
  • UITableViewExample
  • 파이썬
  • 티스토리챌린지
  • UILabel

최근 댓글

최근 글

hELLO · Designed By 정상우.
eunjuicy
[iOS] UITableView 알아보기 (1) - UITableView, UITableViewCell이 뭐야?
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.