Presentation controller adaptivity is limited

Number:rdar://22394182 Date Originated:23-Aug-2015 03:46 PM
Status:Open Resolved:
Product:iOS SDK Product Version:
Classification:Other bug Reproducible:
UIPresentationController adaptivity only supports changing to a full screen presentation according to the container trait collection. This is rather limited. It would be nice to able to switch between arbitrary presentation controllers in response to trait collection and/or container size changes.

Our primary use-case is having a custom presentation controller for horizontally compact environments, and a popover otherwise. (We’re making an inspector very similar to iWork.)

Steps to Reproduce:
Try to do something cool with presentation controller adaptivity.

Expected Results:
More flexible adaptivity

Actual Results:
Limited adaptivity

iOS 9 beta 5


1. Use custom presentation controller (including subclassing UIPopoverPresentationController) and override viewWillTransitionToSize:withTransitionCoordinator: and/or willTransitionToTraitCollection:withTransitionCoordinator: and dismiss and then re-present the presented view controller, making any changes such as providing a different presentation style or presentation controller. Adaptivity becomes mostly the responsibility of the transitioning delegate, which I think is nice.

2. Use view controller containment. The sledgehammer.

3. Override `_presentationControllerForTraitCollection:`. This seems to work, but is not suitable for production. It’s still only responsive to the trait collection, not the container size.




Any solution?

Hi douglashill, I'm also trying to achieve something similar to this. Is there any permanent solution availble for this issue?

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!