UISplitViewControllerDelegate

Panther·2021년 10월 10일
0

https://developer.apple.com/documentation/uikit/uisplitviewcontrollerdelegate#3596702

"The methods adopted by the object you use to manage changes to a split view interface."

스플릿 뷰 인터페이스에 대한 변경사항을 관리하기 위해 사용하는 객체로 채택된 메소드입니다.

Declaration

@MainActor protocol UISplitViewControllerDelegate

Overview

현재 디스플레이 모드에 대한 변경사항과 현재 인터페이스 orientation에 대한 응답으로 이 프로토콜 메소드를 사용하시기 바랍니다. 스플릿 뷰 인터페이스가 축소 및 확장할 때 혹은 새 뷰 컨트롤러가 인터페이스에 추가될 때, 자식 뷰 컨트롤러를 설정하기 위해 이와 같은 메소드들을 사용할 수도 있습니다.

이 프로토콜의 메소드들은 모두 선택사항입니다. 어떠한 메소드라도 구현하지 않는 경우 스플릿 뷰 컨트롤러는 전환 축소 및 확장의 처리에 있어 기본값 동작을 제공합니다.

더 많은 정보는 UISplitViewController를 보시기 바랍니다.

UISplitViewController
<>
<>

Column-Style Split Views

열 스타일 스플릿 뷰 인터페이스에서 인터페이스 전환 동작을 커스터마이징하기 위해 아래와 같은 딜리게이트 메소드들을 사용할 수 있습니다.

  • splitViewController(_:topColumnForCollapsingToProposedTopColumn:)
  • splitViewController(_:willHide:)
  • splitViewControllerDidCollapse(_:)
  • splitViewController(_:displayModeForExpandingToProposedDisplayMode:)
  • splitViewController(_:willShow:)
  • splitViewControllerDidExpand(_:)

Classic Split Views

클래식 스플릿 뷰 인터페이스에서 인터페이스 전환 동작에 대한 커스터마이징을 위해 아래 딜리게이트 메소드들을 사용할 수 있습니다.

  • primaryViewController(forCollapsing:)
  • splitViewController(_:collapseSecondary:onto:)
  • primaryViewController(forExpanding:)
  • splitViewController(_:separateSecondaryFrom:)
  • splitViewController(_:show:sender:)
  • splitViewController(_:showDetail:sender:)

축소 전환이 끝나느 시점에서 스플릿 뷰 컨트롤러는 보통 primary 뷰 컨트롤러로부터의 컨텐트만을 보여줍니다. 스플릿 뷰 컨트롤러 딜리게이트에서 메소드 구현을 통해 이와 같은 동작을 변경할 수 있습니다. secondary 뷰 컨트롤러를 구체화하거나 다른 뷰 컨트롤러를 전체적으로 구체화하기 위해 해당 메소드를 사용할 수 있습니다(아마도 수평 compact 환경에서 표시를 위한 더 적합한 한 가지일 것입니다).

뷰 컨트롤러 및 뷰 계층구조의 추가적인 조정을 수행하길 원한다면, 딜리게이트에서 splitViewController(_:collapseSecondary:onto:) 메소들르 구현할 수도 있습니다.

확장 프로세스는 딜리게이트에게 어떤 뷰 컨트롤러가 primary 뷰 컨트롤러가 될지에 대해 선언할 것을 요청하고, 딜리게이트에게 스스로 전환을 수행할 기회를 줍니다. 스플릿 뷰 인터페이스 축소를 위한 딜리게이트 메소드를 구현하는 경우 해당 인터페이스 확장을 위한 primaryViewController(forExpanding:)splitViewController(_:separateSecondaryFrom:) 메소드를 구현해야 합니다.

0개의 댓글