You can show a view controller in a popover by setting modalPresentationStyle
to UIModalPresentationPopover
. This works nicely in iPad apps, but as noted in the documentation:
In a horizontally compact environment, this option behaves the same as UIModalPresentationFullScreen.
So the view controller will be displayed in full screen. If you want the view controller to be displayed as a popover anyway, you can override this behavior by setting implementing UIPopoverPresentationControllerDelegate
. E.g.
//Create theViewControllerToPresent and configure it...
theViewControllerToPresent.delegate = self;
[vc presentViewController:theViewControllerToPresent animated:YES completion:nil];
- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller {
return UIModalPresentationNone;
}
This will force the presentation style to not be adapted to "full-screen mode" on the iPhone.
Your feedback is valuable: Do you want more nuggets like this? Yes or No
.
.