如何设置UIPopoverController的内容大小?

如何设置UIPopoverController的内容大小?

问题描述:

我在popover中显示一个视图。当我在这个视图中点击一个按钮时,另一个视图将被导航控制器压入弹出窗口。在推动时,弹出窗口的高度得到扩展。我如何保持相同的弹出高度?如何设置UIPopoverController的内容大小?

在所有您的视图控制器中,覆盖-contentSizeForViewInPopover并在所有视图控制器中返回相同的大小。

+3

只是要清楚,在视图控制器,可提供最新的酥料饼里面,你需要覆盖'-contentSizeForViewInPopover' – Ali 2011-05-21 01:31:10

+1

虽然在iOS 7之前是正确的,但现在已被弃用,并且不再适用于iOS 8.1。看到另一个答案。 – Mike 2014-10-28 23:01:42

-contentSizeForViewInPopover自iOS 7起弃用,似乎在iOS 8.1中不起作用。 (我不知道,当它停止工作。)这种新方法是设置preferredContentSize,也许是这样的:

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