본문 바로가기

Programming/iOS

Swift - iPad 멀티태스킹 설정 (Split View/Slide Over)

반응형

아이패드 앱 개발 시 이를 활성화 해줘야 내 앱이 멀티태스킹 기능을 동작할 수 있습니다.

애플에서 소개하는 아이패드 멀티태스킹 설명입니다.

https://support.apple.com/ko-kr/HT207582

 

iPad에서 멀티태스킹 사용하기

iPadOS에서는 멀티태스킹을 사용하여 동시에 두 개의 앱으로 작업하고, 비디오를 시청하면서 이메일에 답장하고, 제스처를 사용하여 앱을 전환하는 등 다양한 작업을 수행할 수 있습니다.

support.apple.com

 

앱에서 설정 방법

Info.plist에서 UIRequiresFullScreen 기능을 꺼주시면 됩니다.

<key>UIRequiresFullScreen</key>
<false/>

01

 

설정 한 뒤 앱을 실행하면 이렇게 SplitView 기능이 활성화 됩니다.

01

https://developer.apple.com/library/archive/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/QuickStartForSlideOverAndSplitView.html

 

Adopting Multitasking Enhancements on iPad: Slide Over and Split View Quick Start

Adopting Multitasking Enhancements on iPad

developer.apple.com

 

사이즈 변경 감지

아래 이미지에서 알 수 있듯이, 총 세가지 화면 비율로 변경가능합니다.

(50-50, 25-75, 75-25)

 

제스쳐를 통해 이 배율을 변경시킬 수 있는데요,

이때마다 앱에서는 사이즈 변경에 대한 걸 감지 후 UI를 다시 그려줘야할 필요성이 있습니다.

(AutoLayout 미지정 시)

 

사이즈 변화는 아래 함수에서 감지할 수 있습니다.

NotificationCenter.default.addObserver(self, selector: #selector(willResign), name: UIApplication.willResignActiveNotification, object: nil)

@objc func willResign() {

}

 

화면 진입 시 멀티태스킹 모드로 실행중인지 여부를 확인하기 위한 코드는 아래와 같습니다.

func isSplitOrSlideOver() -> Bool {
    guard let window = UIApplication.shared.windows.first else { return false }
    
    return !window.frame.equalTo(window.screen.bounds)
}
반응형