Skip to content
Generic popover implementation for iOS with same API as the UIPopoverController for the iPad, but configurable with custom background and available for iPhone as well.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
Classes Added method to check whether popover can be successfully presented f… Aug 21, 2017
Resources Added support for shadow around popover background Feb 19, 2016
WEPopover.xcodeproj Ensured dismiss is possible when a popover is being presented and the… Apr 25, 2017
.gitignore Added method to check whether popover can be successfully presented f… Aug 21, 2017
LICENSE Added license file Jan 25, 2011
README Modified README May 9, 2011
WEPopover-Info.plist Fixed support for interface rotation May 7, 2011
WEPopover_Prefix.pch Fixed issue #1: bug with presenting popover from scrollviews Jan 4, 2011
main.m Migrated to ARC Sep 15, 2014


WEPopover is an attempt to create a generalized version of the UIPopoverController which is unfortunately only available for the iPad. WEPopover should work on any device with iOS >= 3.2. If you want to use it with iOS < 3.2 you need to implement the @property(nonatomic, readwrite) CGSize contentSizeForViewInPopover for the content view controllers you want to present manually.

The project contains some sample code illustrating the usage of the classes, but the only classes you actually need if you want to use the library reside in the "Popover" group in the project tree.

Please have a look at the UIPopoverController documentation on details of the API.
Additions to the UIPopoverController API include:

- Support for custom background views: specify the WEPopoverContainerViewProperties for the view to use as background. The properties specify the images to use for the stretchable background and the arrows (four directions). It also specifies the margins and the cap sizes for resizing the background. A default image with corresponding arrows are supplied with the project.
- Support for limiting the area to display the popover: implement the protocol WEPopoverParentView for the view you supply to the presentPopover method and implement the - (CGRect)displayAreaForPopover.
- Support for repositioning an existing popover (by passing the need to dismiss it and present a new one). See the 'repositionPopoverFromRect' method in WEPopoverController.

You can’t perform that action at this time.