UICollectionViewController

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

https://developer.apple.com/documentation/uikit/uicollectionviewcontroller

"A view controller that specializes in managing a collection view."

컬렉션 뷰 관리에 특화된 뷰 컨트롤러입니다.

Declaration

@MainActor class UICollectionViewController : UIViewController

Overview

뷰 컨트롤러는 아래 동작을 구현합니다.

  • 컬렉션 뷰 컨트롤러가 할당된 nib 파일을 갖거나 스토리보드로부터 로드되면, 상응하는 nib 파일 혹은 스토리보드로부터 자신의 뷰를 로드합니다. 컬렉션 뷰 컨트롤러를 코드 작성으로 생성하면, collectionView 속성을 사용해서 접근할 수 있는 새 설정되지 않은 컬렉션 뷰 객체를 생성합니다.
  • 컬렉션 뷰를 스토리보드 혹은 nib 파일로부터 로드할 때, 컬렉션 뷰에 대한 데이터 소스와 딜리게이트 객체를 nib 파일로부터 가져오게 됩니다. 데이터 소스 혹은 딜리게이트가 구체화되지 않으면 컬렉션 뷰 컨트롤러는 자신을 구체화되지 않은 역할로 할당합니다.
  • 컬렉션 뷰가 처음으로 나타날 준비가 되면 컬렉션 뷰 컨트롤러는 컬렉션 뷰 데이터를 다시 로드합니다. 또한, 뷰가 표시될 때마다 현재 선택을 지웁니다. clearsSelectionOnViewWillAppear 속성의 값을 false로 설정해서 이 동작을 변경시킬 수 있습니다.

다루길 원하는 각각의 컬렉션 뷰마다 UICollectionViewController의 커스텀 서브클래스를 생성할 수 있습니다. init(collectionViewLayout:) 메소드를 사용해서 컨트롤러를 초기화할 때, 컬렉션 뷰가 가져야 하는 레이아웃을 구체화할 수 있습니다. 초기에 생성된 컬렉션 뷰는 차원 혹은 컨텐트를 갖지 않기 때문에 컬렉션 뷰의 데이터 소스와 딜리게이트(보통 컬렉션 뷰 컨트롤러 자신)는 이 정보를 제공해야 합니다.

loadView() 메소드를 오버라이드 하거나 다른 슈퍼 클래스 메소드를 오버라이드 할 수 있지만, 그렇게 하는 경우 메소드 구현에서 super 호출을 확실히 해줘야 합니다. 그렇게 하지 않는 경우 컬렉션 뷰 컨트롤러는 컬렉션 뷰의 통합을 유지하기 위해 필요한 모든 작업을 수행할 수 없습니다.

See Also


Content View Controllers

Displaying and Managing Views with a View Controller

스토리보드에 뷰 컨트롤러를 빌드하고, 커스텀 뷰와 함께 설정하며, 앱 데이터로 해당 뷰를 채웁니다.

https://developer.apple.com/documentation/uikit/view_controllers/displaying_and_managing_views_with_a_view_controller
https://velog.io/@panther222128/Displaying-and-Managing-Views-with-a-View-Controller

Showing and Hiding View Controllers

다른 테크닉을 사용해서 뷰 컨트롤러를 표시합니다. 그리고 뷰 컨트롤러 사이에 전환이 진행되는 동안 데이터를 전달합니다.

https://developer.apple.com/documentation/uikit/view_controllers/showing_and_hiding_view_controllers
https://velog.io/@panther222128/Showing-and-Hiding-View-Controllers

UIViewController

UIKit 앱의 뷰 계층구조를 관리하는 객체입니다.

https://developer.apple.com/documentation/uikit/uiviewcontroller
https://velog.io/@panther222128/ViewController

UITableViewController

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

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


post-custom-banner

0개의 댓글