[UIKit] UITableView

박상우·2023년 8월 8일
0

UIKit

목록 보기
4/8
post-thumbnail
post-custom-banner

UITableView는 iOS 앱에서 목록 형태의 데이터를 표시하기 위한 중요한 UI 구성 요소이다. 이 포스트에서는 UITableView의 기본 개념부터 고급 기능까지 자세하게 다뤄보겠다.


1. UITableView란?

UITableView는 iOS 앱에서 세로 방향으로 스크롤 가능한 목록을 표시하기 위한 UI 구성 요소이다. 각각의 행은 UITableViewCell 객체로 표현되며 여러 섹션으로 구분될 수 있다.


2. 기본 구성 요소

  • UITableView : 목록을 표시하는 뷰
  • UITableViewCell : 목록의 각 행을 나타내는 뷰
  • UITableViewDataSource : 테이블 뷰에 표시될 데이터와 관련된 메서드를 제공
  • UITableViewDelegate : 테이블 뷰의 동작과 모양과 관련된 메서드를 제공

3. UITableView 생성하기

Interface Builder를 사용하거나 코드로 'UITableView' 를 생성할 수 있다.

Inferface Builder 사용

  1. Storyboard에 UITableView를 드래그한다.

  1. UITableViewDataSource 및 UITableViewDelegate를 연결한다.

코드로 생성

let tableView = UITableView(frame: view.bounds, style: .plain)
view.addSubview(tableView)

4. 데이터 표시하기

UITableView는 'UITableViewDataSource' 프로토콜을 통해 데이터를 제공 받는다.

필수 메서드

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return dataList.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cellIdentifier", for: indexPath)
    cell.textLabel?.text = dataList[indexPath.row]
    return cell
}

5. 이벤트 처리

'UITableViewDelegate' 를 사용하여 테이블 뷰의 다양한 이벤트를 처리할 수 있다.

예시


func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    print("Selected row at \(indexPath.row)")
}

6. 커스텀 셀

기본 셀 외에도 커스텀 디자인의 셀을 사용할 수 있다. 커스텀 셀은 Interface Builder에서 디자인하거나 코드로 생성할 수 있다.

위의 예시처럼 이미지와 레이블을 함께 나타낼 수도 있다.


7. 섹션 사용하기

UITableView는 섹션을 지원한다. 섹션 헤더와 푸터를 사용하여 데이터를 더 구조화된 방식으로 표시할 수 있다.

카테고리별로 섹션이 나뉜 것을 확인할 수 있다.


8. 기타 기능

  • Pull to Refresh
  • 스와이프 액션
  • 다중 선택
  • 자동 크기 조절 셀

UITableView는 iOS 앱 개발에서 매우 중요하며 다양한 방식으로 사용자에게 정보를 제공할 수 있다. 기본적인 사용 방법부터 고급 기능까지 알고 있으면 iOS 앱의 사용성과 디자인을 크게 향상시킬 수 있다. 이번 포스트에서는 UITableView의 기본적인 개요를 설명한 것이기에 각 주제에 대해 더 깊게 알고싶다면 공식 문서나 다른 자료를 참고하길 바란다.

profile
코딩으로 세계정복👑
post-custom-banner

0개의 댓글