ALPopoverView for iPhone/iPad

ALPopoverView mimics the iPad's UIPopoverController class, but it's much more flexible, customizable and it's possible to use it also on the iPhone.

Like the iPad-only version, you can open the popover so that its arrow starts at specific coordinates or points to a view, and the rest of the popover (the part that displays the content) is automatically positioned according to its size and the space available around the arrow. But you can also manually configure the direction of the arrow and therefore where the popover's content will be displayed relatively to the arrow (above, below, on the right or on the left).

Last but not least, while you're contrained to creating a dedicated view controller to show content inside a UIPopoverController, you can add any view directly inside the ALPopoverView's content, thus simplifying things a lot.

For more information, see the component documentation

Buy Now for $19.00

Features

  • Works also on iPhone
  • Auto or manual display
  • Easy to customize
  • Directly add sub-views
 
  • Documentation
  • Demo project
  • Free updates
  • Free support

Sample code

This code snippets how to create simple popover and add a labels to its content

    //Init the popover and display from the passed view 
     ALPopoverView* _popOver=[[ALPopoverView alloc] initFromView:btn andContenSize:CGSizeMake(100, 240)
                           andParentViewController:self];    
    //Otherwise you can display the popover starting from an exact point
    //ALPopoverView* _popOver=[[ALPopoverView alloc] initWithOrigin:CGPointMake(240, 250) andContenSize:CGSizeMake(100, 240)
    //          andParentViewController:self];  
    _popOver.delegate=self;   
    UILabel* _lbl=[[UILabel alloc] init];
    _lbl.numberOfLines=0;
    _lbl.font=[UIFont boldSystemFontOfSize:13];
    _lbl.textAlignment=UITextAlignmentCenter;
    _lbl.text=@"Show the popover from a selected view, it auto position or....";
    _lbl.frame=_popOver.contentView.bounds;
    [_popOver.contentView addSubview:_lbl];