如何设置UIPopoverController的内容大小?
问题描述:
我在popover中显示一个视图。当我在这个视图中点击一个按钮时,另一个视图将被导航控制器压入弹出窗口。在推动时,弹出窗口的高度得到扩展。我如何保持相同的弹出高度?如何设置UIPopoverController的内容大小?
答
在所有您的视图控制器中,覆盖-contentSizeForViewInPopover
并在所有视图控制器中返回相同的大小。
答
-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];
只是要清楚,在视图控制器,可提供最新的酥料饼里面,你需要覆盖'-contentSizeForViewInPopover' – Ali 2011-05-21 01:31:10
虽然在iOS 7之前是正确的,但现在已被弃用,并且不再适用于iOS 8.1。看到另一个答案。 – Mike 2014-10-28 23:01:42