How to create Popovers with Xcode Storyboards

29,396

Before iOS 5, one would've needed to display another UIViewController using the First Responder via a Modal presentation (and a pile of code).

To create a popover in Xcode's Storyboard Mode (iOS 5+) use a UIButton or UIToolbarButton and create a Storyboard Segue between the button and the UIViewController that you want to pop-over.

Creating a segue between a button and another UIViewController is simple. Here's how:

  1. Click on the button in your storyboard and Control+Drag from the button to the UIViewController of choice. You should see a light blue line appear that extends from the button to the tip of your mouse.
  2. After dragging the blue line to the ViewController of choice a small black menu will appear. This menu displays the different segue options. Select Popover.

    Popover Segue Menu

  3. If everything was done correctly, this segue should be visible in the Connections Inspector when the button is selected:

Use Popover instead of Modal or Push

The UIViewController you create should also have a custom size that is smaller than the full screen. You can set a custom size by selecting the View Controller and setting its size property to freeform, or master (320 x 850).

Share:
29,396
Sam Spencer
Author by

Sam Spencer

I build apps because they help people create new experiences and explore the world in ways they never believed possible. I'm in this to help people, and to create beautiful products that let us expand our connections with one another and the world around us.

Updated on October 15, 2020

Comments

  • Sam Spencer
    Sam Spencer over 3 years

    How can I create a popover in an iPad Storyboard for an iOS 5.0+ app?

    There's already one setup with the Xcode Project Template (Utility App), but I can't seem to figure out how Apple got it to work. I tried to mimic it, but only got errors. I even looked on Apple's Dev Site, but only got out-dated code that resulted in warnings and build errors.

    I have a CBMainView and a CBMasterView (with the exception of the master view already included), and a UIToolbar with a UIToolbarButton. I need the user to tap the button on the UIToolbar, and up comes my 320x300 Popover (CBMasterView).

    How can I do this with Xcode Storyboards? Tutorials, answers, code, or links are all appreciated!