iPadのマルチタスキングSplit Viewで表示されているかの判定


iPad Air 2以降で使えるマルチタスキング機能Slide Over and Split Viewで表示されて操作可能状態にあるかどうかの判定です。

条件はiPadでアプリ側keyWindowの幅がデバイス画面幅の半分以下としています。

BOOL isInSplitView
= (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad
   && (CGRectGetWidth([UIApplication sharedApplication].keyWindow.frame)
       <= CGRectGetWidth([[UIScreen mainScreen] bounds]) * 0.5f));

ちなみに[UIScreen mainScreen].applicationFrameはiOS 9でdeprecatedとなります。

参考: Getting Started with Multitasking on iPad in iOS 9