2010-07-27 10 views

Respuesta

18

En todos sus controladores de vista, anule -contentSizeForViewInPopover y devuelva el mismo tamaño en todos ellos.

+3

Sólo para que quede claro, en el controlador de vista que proporciona cuál es el interior de la popover lo que necesita anula el '-contentSizeForViewInPopover' – Ali

+1

Si bien es correcto antes de iOS 7, ahora está obsoleto y ya no funciona en iOS 8.1. Ver la respuesta alternativa. – Mike

2

-contentSizeForViewInPopover está en desuso a partir de iOS 7, y no parece funcionar en iOS 8.1. (No estoy seguro de que cuando dejó de funcionar.) El nuevo método consiste en establecer el preferredContentSize, tal como esto:

MyPopoverViewController *myPopoverViewController = [[MyPopoverViewController alloc] initWithNibName: @"MyPopoverViewController" bundle: nil]; 
    myPopoverViewController.preferredContentSize = CGSizeMake(186, 160); 

    self.myPopover = [[UIPopoverController alloc] initWithContentViewController: myPopoverViewController]; 
    myPopover.delegate = self; 

    [myPopover presentPopoverFromRect: self.myButton.frame inView: self.view permittedArrowDirections: UIPopoverArrowDirectionAny animated: YES]; 
Cuestiones relacionadas