Table Views

하나의 열과 커스텀 가능한 행에 데이터를 표시하세요.

원문 출처 https://developer.apple.com/documentation/uikit/views_and_controls/table_views

Overview

테이블 뷰는 수직으로 스크롤할 수 있는 컨텐츠를 단일 컬럼으로 보여주며 컨텐츠들은 행과 섹션으로 나누어집니다. 각 행은 앱과 관련된 정보를 표시하고 섹션은 연관된 행들을 같이 묶을 수 있게 해줍니다. 예를 들어, 연락처 앱은 사용자의 연락처에서 이름들을 표시하는데 테이블을 사용하고 있습니다.

테이블 뷰는 다음과 같은 여러 다른 객체의 조합으로 만들어집니다:

  • 셀 셀은 정보의 시각적 표현을 제공합니다. UIKit에서 제공되는 기본 셀을 이용하거나 필요에 따라 커스텀 셀을 정의하여 사용할 수 있습니다.

  • 테이블 뷰 컨트롤러 일반적으로 UITableViewController 객체를 사용하여 테이블 뷰를 관리합니다. 다른 뷰 컨트롤러를 사용할 수도 있지만 테이블 뷰 컨트롤러 없이는 사용할 수 없는 테이블 기능들도 있습니다.

  • 데이터 소스 객체 이 객체는 UITableVuewDataSource 프로토콜을 채택하여 테이블에 데이터를 제공합니다.

  • Delegate 객체 이 객체는 UITableViewDelegate 프로토콜을 채택하여 테이블 컨텐츠에 대한 사용자 상호작용을 관리합니다.

주제

Essentials

  • class UITableView

    단일 열에 정렬된 행을 사용하여 데이터를 표시하는 뷰

Data

  • 데이터로 테이블 채우기 테이블 셀을 생성하고 설정하세요. 데이터 소스 객체를 사용하여 동적으로 만들거나 스토리보드에서 제공하는 정적인 셀을 사용할 수도 있습니다.

  • protocol UITableViewDataSource 테이블 뷰에 데이터를 관리하고 셀을 제공하기 위해 객체가 채택하는 메서드

  • protocol UITableViewDataSourcePrefetching 테이블 뷰의 데이터 요구 사항에 대한 사전 경고를 제공하여 장기 실행 데이터 작업을 조기에 시작할 수 있는 프로토콜입니다.

  • class UITableViewDiffableDataSourceReference

  • class UITableViewDiffableDataSource

  • class NSDiffableDataSourceSnapshotReference

  • class UILocalizedIndexedCollation 섹션 인덱스가 있는 테이블 뷰의 데이터를 구성, 정렬 및 지역화하는 객체

  • protocol UIDataSourceTranslating 데이터 소스 객체를 관리하는 고급 인터페이스

  • class UIRefreshControl 스크롤 뷰 컨텐츠를 새로고침 할 수 있는 표준 컨트롤

테이블 관리

  • 테이블 스크롤 영역의 높이 추정 스크롤이 컨텐츠의 크기를 정확히 반영하도록 테이블 뷰의 header, footer, row에 대한 높이 추정치를 제공하세요

  • class UITableViewController

    테이블 뷰 관리에 특화된 뷰 컨트롤러

  • protocol UITableViewDelegate 섹션 관리, 섹션 header와 footer 구성, 셀의 삭제와 재배치 및 테이블 뷰의 다른 동작을 수행하는 메서드를 제공합니다.

  • class UITableViewFocusUpdateContext 하나의 뷰에서 다른 뷰로 업데이트 되는 특정 포커스와 관련된 정보를 제공하는 컨텍스트 객체

Cells, Headers, and Footers

  • 테이블 셀 구성 스토리보드에서 하나 이상의 프로토타입 셀을 정의하여 테이블 행의 모양과 컨텐츠를 지정하세요

  • 자체 크기 조정 테이블 뷰 셀 만들기

    동적 유형을 지원하는 테이블 뷰 셀을 작성하고 시스템 간격 제약 조건을 사용하여 텍스트 레이블 주변의 간격을 조정합니다.

  • 테이블 섹션에 Header와 Footer 추가 테이블 뷰 섹션에 header와 footer 뷰를 추가하여 행 그룹을 시각적으로 다양화하세요

  • class UITableViewCell

    테이블 뷰 단일 행의 시각적 표현

  • class UITableViewHeaderFooterView

    테이블 섹션의 상단 또는 하단에 배치하여 해당 섹션에 대한 추가 정보를 표시할 수 있는 재사용 가능한 뷰입니다.

Row Actions

  • class UISwipeActionsConfiguration

    테이블 행을 스와이프할 때 실행되는 action의 집합입니다.

  • class UIContextualAction

    사용자가 테이블 행을 스와이프할 때 표시할 action입니다.

  • class UITableViewRowAction Deprecated

    사용자가 테이블 행을 수평으로 스와이프할 때 표시할 action입니다.

Selection Management

  • 테이블 뷰 행 선택 관리 사용자가 테이블 뷰 셀을 누를 때를 감지하여 앱이 다음에 표시되는 작업을 수행할 수 있도록 합니다.

  • 두 손가락 Pan Gesture로 여러 항목 선택 테이블 뷰와 콜렉션 뷰에서 다중 선택 제스처를 사용하여 사용자가 여러 항목을 더 빨리 선택할 수 있게 해줍니다.

Drag and Drop

  • 테이블 뷰에서 Drag and Drop 지원하기

    테이블 뷰에서 드래그 앤 드롭을 시작합니다.

  • protocol UITableViewDragDelegate

    테이블 뷰에서 드래그를 시작하기 위한 인터페이스

  • protocol UITableViewDropDelegate

    테이블 뷰에서 놓기 동작을 처리하기 위한 인터페이스

  • protocol UITableViewDropCoordinator

    테이블 뷰에서 커스텀 드롭 동작을 조정하기 위한 인터페이스입니다.

  • protocol UITableViewDropItem 테이블 뷰로 놓여지는 항목과 관련된 데이터

  • class UITableViewDropProposal

    테이블 뷰에서 드롭을 처리하기 위해 제안된 솔루션

Placeholder Cells

  • protocol UITableViewDropPlaceholderContext

    표시할 데이터가 실제로 들어오기 전에 임시적으로 테이블 뷰에 삽입되는 객체

  • class UITableViewDropPlaceholder Drop preview parameter의 커스터마이징을 지원하는 Placeholder 셀

  • class UITableViewPlaceholder 테이블에 삽입될 자리를 가리키는 Placeholder cell에 대한 정보를 담는 객체

같이 보기

컨테이너 뷰

  • Collection Views 설정 및 커스텀이 가능한 레이아웃을 사용하여 중첩된 뷰를 표시하세요.

  • class UIStackView 열또는 행으로 뷰 집합을 배치하기 위한 효율적인 인터페이스입니다.

  • class UIScrollView 포함된 뷰를 스크롤하고 확대/축소할 수 있는 뷰입니다.

Last updated