Table Views

Panther·2021년 8월 27일
0
post-custom-banner

https://developer.apple.com/documentation/uikit/views_and_controls/table_views

"Display data in a single column of customizable rows."

커스터마이징 가능한 행들로 구성된 하나의 열에 데이터를 표시합니다.

Overview

테이블 뷰는 행과 섹션을 구분해서 수직 스크롤링 컨텐트의 한 열을 표시합니다. 테이블의 각 행은 앱과 관련이 있는 정보의 한 부분을 표시합니다. 섹션은 관련 행을 함께 그룹화할 수 있도록 해줍니다. 예를 들어 연락처 앱은 사용자 연락처의 이름을 표시하기 위해 테이블을 사용합니다.

테이블 뷰는 여러 객체 사이의 조합입니다. 아래 객체를 포함합니다.

  • 셀입니다. 셀은 컨텐트에 대한 시각적 표현을 제공합니다. UIKit이 제공하는 기본값 셀을 사용할 수 있으며, 앱의 니즈에 맞게 커스텀 셀을 정의할 수도 있습니다.
  • 테이블 뷰 컨트롤러입니다. 테이블 뷰를 관리하기 위해 보통 UITableViewController 객체를 사용합니다. 다른 뷰 컨트롤러 역시 사용할 수 있지만, 테이블 관련 기능으로 작업하려면 테이블 뷰 컨트롤러가 요구됩니다.
  • 데이터 소스 객체입니다. 이 객체는 UITableViewDataSource 프로토콜을 채택하며, 테이블을 위한 데이터를 제공합니다.
  • 딜리게이트 객체입니다. 이 객체는 UITableViewDelegate 프로토콜을 채택하며, 테이블 컨텐츠에 대한 사용자 상호작용을 관리합니다.

Topics


Essentials

UITableView

하나의 열에서 행을 사용해 데이터를 표시하는 뷰입니다.

https://developer.apple.com/documentation/uikit/uitableview
https://velog.io/@panther222128/UITableView-z2emix6h


Data

Filling a Table with Data

데이터 소스 객체를 사용해서 동적으로 테이블을 위한 셀을 생성 및 설정합니다. 혹은 스토리보드로부터 정적으로 셀을 제공합니다.

https://developer.apple.com/documentation/uikit/views_and_controls/table_views/filling_a_table_with_data
https://velog.io/@panther222128/Filling-a-Table-with-Data

UITableViewDiffableDataSource

테이블 뷰에서 데이터를 관리하고 셀을 제공하기 위해 사용하는 객체입니다.

https://developer.apple.com/documentation/uikit/uitableviewdiffabledatasource
https://velog.io/@panther222128/UITableViewDiffableDataSource

UILocalizedIndexedCollation

섹션 인덱스를 갖는 테이블 뷰에서 데이터를 조직화, 정렬, 로컬화하는 객체입니다.

https://developer.apple.com/documentation/uikit/uilocalizedindexedcollation
https://velog.io/@panther222128/UILocalizedIndexedCollation

UIRefreshControl

스크롤 뷰 컨텐츠의 리프레시를 시작할 수 있는 표준 컨트롤입니다.

https://developer.apple.com/documentation/uikit/uirefreshcontrol
https://velog.io/@panther222128/UIRefreshControl


Table Management

Estimating the Height of a Table's Scrolling Area

스크롤링이 컨텐트 크기를 정확하게 반영할 수 있도록 하기 위해 테이블 뷰의 헤더, footer, 행에 대한 높이 추정값을 제공합니다.

https://developer.apple.com/documentation/uikit/views_and_controls/table_views/estimating_the_height_of_a_table_s_scrolling_area
https://velog.io/@panther222128/Estimating-the-Height-of-a-Tables-Scrolling-Area

UITableViewController

테이블 뷰 관리에 특화된 뷰 컨트롤러입니다.

https://developer.apple.com/documentation/uikit/uitableviewcontroller
https://velog.io/@panther222128/UITableViewController

UITableViewFocusUpdateContext

하나의 뷰에서 다른 뷰로의 특정 포커스 업데이트에 관련이 있는 정보를 제공하는 컨텍스트 객체입니다.

https://developer.apple.com/documentation/uikit/uitableviewfocusupdatecontext
https://velog.io/@panther222128/UITableViewFocusUpdateContext


Cells, Headers, and Footers

Configuring the Cells for Your Table

스토리보드에서 하나 혹은 하나 이상의 프로토타입 셀을 정의해 테이블 행의 모양 및 컨텐트를 구체화합니다.

https://developer.apple.com/documentation/uikit/views_and_controls/table_views/configuring_the_cells_for_your_table
https://velog.io/@panther222128/Configuring-the-Cells-for-Your-Table

Adding Headers and Footers to Table Sections

테이블 뷰 섹션에 헤더 및 footer 뷰를 추가해서 행 그룹을 시각적으로 구분합니다.

https://developer.apple.com/documentation/uikit/views_and_controls/table_views/adding_headers_and_footers_to_table_sections
https://velog.io/@panther222128/Adding-Headers-and-Footers-to-Table-Sections

UITableViewCell

테이블 뷰에 있는 한 행의 시각적 표현입니다.

https://developer.apple.com/documentation/uikit/uitableviewcell
https://velog.io/@panther222128/UITableViewCell

UITableViewHeaderFooterView

섹션에 추가적인 정보를 표시하기 위해 테이블 섹션의 상단 혹은 하단으로 위치시키는 재사용 가능한 뷰입니다.

https://developer.apple.com/documentation/uikit/uitableviewheaderfooterview
https://velog.io/@panther222128/UITableViewHeaderFooterView


Row Actions

UISwipeActionsConfiguration

테이블의 행을 스와이프할 때 수행하는 액션의 집합입니다.

https://developer.apple.com/documentation/uikit/uiswipeactionsconfiguration
https://velog.io/@panther222128/UISwipeActionsConfiguration

UIContextualAction

사용자가 테이블 행을 스와이프할 때 표시하기 위한 액션입니다.

https://developer.apple.com/documentation/uikit/uicontextualaction
https://velog.io/@panther222128/UIContextualAction


Selection Management

Handling Row Selection in a Table View

사용자가 테이블 뷰 셀을 탭할 때 이를 감지하고 앱이 그에 상응하는 다음 액션을 수행할 수 있게 합니다.

https://developer.apple.com/documentation/uikit/uitableviewdelegate/handling_row_selection_in_a_table_view
https://velog.io/@panther222128/Handling-Row-Selection-in-a-Table-View


Drag and Drop

Supporting Drag and Drop in Table Views

테이블 뷰로부터 드래그를 시작하고 드롭을 처리합니다.

https://developer.apple.com/documentation/uikit/views_and_controls/table_views/supporting_drag_and_drop_in_table_views
https://velog.io/@panther222128/Supporting-Drag-and-Drop-in-Table-Views

UITableViewDropProposal

테이블 뷰에서 드롭을 처리하기 위한 제안된 해결책입니다.

https://developer.apple.com/documentation/uikit/uitableviewdropproposal
https://velog.io/@panther222128/UITableViewDropProposal


Placeholder Cells

UITableViewDropPlaceholder

드롭 프리뷰 파라미터를 커스터마이징하는 것을 지원하는 플레이스홀더 셀입니다.

https://developer.apple.com/documentation/uikit/uitableviewdropplaceholder
https://velog.io/@panther222128/UITableViewDropPlaceholder

UITableViewPlaceholder

테이블에 삽입되고 있는 플레이스홀더 셀에 대한 정보를 포함하는 객체입니다.

https://developer.apple.com/documentation/uikit/uitableviewplaceholder
https://velog.io/@panther222128/UITableViewPlaceholder


See Also


Container Views

Collection Views

설정 가능하고 고수준으로 커스터마이징 가능한 레이아웃을 사용해서 중첩된 뷰를 표시합니다.

https://developer.apple.com/documentation/uikit/views_and_controls/collection_views
https://velog.io/@panther222128/Collection-Views

UIStackView

열 혹은 행에 뷰의 컬렉션을 배치하기 위한 간단한 인터페이스입니다.

https://developer.apple.com/documentation/uikit/uistackview
https://velog.io/@panther222128/UIStackView

UIScrollView

포함된 뷰의 스크롤링 및 확대, 축소를 허용하는 뷰입니다.

https://developer.apple.com/documentation/uikit/uiscrollview
https://velog.io/@panther222128/UIScrollView


post-custom-banner

0개의 댓글