你如何设置UIPopoverController的内容大小?

时间:2010-07-27 13:11:32

标签: iphone ipad

我在弹出窗口中显示视图。单击此视图中的按钮时,将使用导航控制器将另一个视图推入弹出窗口。在推动时,弹出窗口的高度会延长。如何保持相同的弹出高度?

2 个答案:

答案 0 :(得分:18)

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

答案 1 :(得分:2)

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