2010-07-27 13 views

Antwort

18

In allen View-Controllern überschreiben Sie -contentSizeForViewInPopover und geben alle dieselbe Größe zurück.

+3

Nur um klarzustellen, in der Ansicht-Controller, was Sie im Inneren des popover bietet müssen überschreiben Sie den '-contentSizeForViewInPopover' – Ali

+1

Während korrekt vor iOS 7, ist dies jetzt veraltet und funktioniert nicht mehr in iOS 8.1. Siehe die alternative Antwort. – Mike

2

-contentSizeForViewInPopover ist ab iOS 7 veraltet und scheint in iOS 8.1 nicht zu funktionieren. (Ich bin nicht sicher, wenn es funktioniert nicht mehr.) Die neue Methode ist die preferredContentSize zu setzen, vielleicht so:

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]; 
Verwandte Themen