https://developer.apple.com/documentation/uikit/uisplitviewcontrollerdelegate#3596702
"The methods adopted by the object you use to manage changes to a split view interface."
스플릿 뷰 인터페이스에 대한 변경사항을 관리하기 위해 사용하는 객체로 채택된 메소드입니다.
@MainActor protocol UISplitViewControllerDelegate
현재 디스플레이 모드에 대한 변경사항과 현재 인터페이스 orientation에 대한 응답으로 이 프로토콜 메소드를 사용하시기 바랍니다. 스플릿 뷰 인터페이스가 축소 및 확장할 때 혹은 새 뷰 컨트롤러가 인터페이스에 추가될 때, 자식 뷰 컨트롤러를 설정하기 위해 이와 같은 메소드들을 사용할 수도 있습니다.
이 프로토콜의 메소드들은 모두 선택사항입니다. 어떠한 메소드라도 구현하지 않는 경우 스플릿 뷰 컨트롤러는 전환 축소 및 확장의 처리에 있어 기본값 동작을 제공합니다.
더 많은 정보는 UISplitViewController
를 보시기 바랍니다.
UISplitViewController
<>
<>
열 스타일 스플릿 뷰 인터페이스에서 인터페이스 전환 동작을 커스터마이징하기 위해 아래와 같은 딜리게이트 메소드들을 사용할 수 있습니다.
splitViewController(_:topColumnForCollapsingToProposedTopColumn:)
splitViewController(_:willHide:)
splitViewControllerDidCollapse(_:)
splitViewController(_:displayModeForExpandingToProposedDisplayMode:)
splitViewController(_:willShow:)
splitViewControllerDidExpand(_:)
클래식 스플릿 뷰 인터페이스에서 인터페이스 전환 동작에 대한 커스터마이징을 위해 아래 딜리게이트 메소드들을 사용할 수 있습니다.
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:)
메소드를 구현해야 합니다.