Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Generic popover implementation for iOS with same API as the UIPopoverController for the iPad, but configurable with custom background and available for iPhone/iPhone4

branch: master


The WEPopover is designed to mimic the behavior and appearance of the UIPopover only available on iPad. It is designed to work on iPad, iPhone, and includes support for Retina displays.


  1. iOS 5.0+
  2. Retina support
  3. ARC


Add the code and image files to your project.

Example Usage

// Header .h
#include "WEPopoverController.h"
WEPopoverController *navPopover;

// Implementation .m

// Create a label with custom text 
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 40)];
[label setText:@"Bookmark it!"];
[label setBackgroundColor:[UIColor clearColor]];
[label setTextColor:[UIColor whiteColor]];
[label setTextAlignment:UITextAlignmentCenter];

UIFont *font = [UIFont boldSystemFontOfSize:20];
[label setFont:font];
CGSize size = [label.text sizeWithFont:font];
CGRect frame = CGRectMake(0, 0, size.width + 10, size.height + 10); // add a bit of a border around the text
label.frame = frame;

//  place inside a temporary view controller and add to popover
UIViewController *viewCon = [[UIViewController alloc] init];
viewCon.view = label;
viewCon.contentSizeForViewInPopover = frame.size;       // Set the content size

navPopover = [[WEPopoverController alloc] initWithContentViewController:viewCon];
[navPopover presentPopoverFromRect:CGRectMake(0, 0, 50, 57)
                 permittedArrowDirections:UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown


iPhoneiPhone 4

Something went wrong with that request. Please try again.