2010-07-27 4 views

Répondre

18

Dans tous vos contrôleurs de vue, remplacez -contentSizeForViewInPopover et renvoyez la même taille dans chacun d'eux.

+3

Juste à préciser, dans le contrôleur de vue qui fournit ce qui est à l'intérieur du popover vous devez Remplacer le -contentSizeForViewInPopover' – Ali

+1

Bien que correct avant iOS 7, il est maintenant obsolète et ne fonctionne plus dans iOS 8.1. Voir la réponse alternative. – Mike

2

-contentSizeForViewInPopover est obsolète depuis iOS 7 et ne semble pas fonctionner dans iOS 8.1. (Je ne sais pas quand il a cessé de fonctionner.) La nouvelle méthode consiste à définir la preferredContentSize, peut-être comme ceci:

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]; 
Questions connexes