Vista Popover para iPhone con XCode 5

Quería reutilizar el popover para iPhone descrito en este video, que es exactamente lo que necesito.

El problema es que no pude enlazar una propiedad UIViewController al UIViewController del popover como en el video.

Una diferencia con el video es que se realizó con XCode 4.2 y estoy usando XCode 5.

Entonces la pregunta es: ¿Cómo hacer un popover para iPhone como en el video en XCode 5?

Aquí está el proyecto XCode 5 con el que estoy luchando.

¡Descubrí una forma de hacer que popover funcione en iPhone e iPad mediante progtwigción!

  • Cree una categoría para que popover esté disponible en iPhone (más detalles aquí )

     //UIPopover+Iphone.h @interface UIPopoverController (overrides) + (BOOL)_popoversDisabled; @end //UIPopover+Iphone.m @implementation UIPopoverController (overrides) + (BOOL)_popoversDisabled { return NO; } @end 
  • Cree el button que mostrará el popover e implementará el método que llama

EjemploUIViewController.h

 @interface ExampleViewController : UIViewController <UIPopoverControllerDelegate> @property (strong, nonatomic) UIButton *detailButton; @property (nonatomic, retain) IBOutlet UIPopoverController *poc; 

UIPopoverController poc debe mantenerse en una variable de instancia, más detalles aquí .

EjemploUIViewController.m

 - (void)viewDidLoad { _detailButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_detailButton addTarget:self action:@selector(showPop:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:_detailButton]; } -(void)showPop:(UIButton *)button { UIViewController *detailsViewController = [[DetailsViewController alloc] initWithNibName:@"DetailsViewController" bundle:nil]; self.poc = [[UIPopoverController alloc] initWithContentViewController:detailsViewController]; [self.poc setDelegate:self]; [self.poc presentPopoverFromRect:_detailButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES]; } 
  • Cree UIViewController que contendrá lo que se muestra dentro del popover (llamado DetailsViewController en el ejemplo)

Simplemente créelo en su proyecto con un clic derecho -> Nuevo file -> Objetivo c class -> UIViewController y marque la casilla "Con XIB".

Luego aparecerá un popover junto al button cuando se toca.

Probado bien en iOs5 y superior.