3

iOS 9 introduced multitasking to the iPad. These modes consist of:

  • Slide over
  • Split view
  • Picture in picture

In these questions, I'm not considering picture in picture (PiP) as that is a niche case which only applies to video playback from a limited number of sources - whereas slide over and split view apply to all view controllers in the app.

Apple's documentation is quite light in this area, and particularly when developing frameworks which get integrated into other people's apps (over which I have no control and cannot opt-out - by enabling "Requires Full Screen"), things start to get complicated.

1. Is there a way for a UIViewController itself to declare it requires full screen? - I know that an app can require full-screen, but can this be set on a per-view controller setting? (...having said that I'm not sure what would happen in split view when that view controller was displayed...? Or perhaps it could just stop the splitting occurring whilst that view controller is on-screen...?)

2. From an app which is in split view/slide over, is it possible to present a view controller full screen?

3. Is there a high-level API to detect whether the app is currently in split view/slide over or full screen? - I mean yes, I could check the view dimensions and compare them to the actual screen dimensions, but that seems clunky - is there an easy way to do this?

4. Is there a way to prevent slide over overlaying the UIViewController, or at least detecting whether there is currently a slide over in place?

Jonathan Ellis
  • 5,221
  • 2
  • 36
  • 53

0 Answers0