我在弹出窗口中显示视图。单击此视图中的按钮时,将使用导航控制器将另一个视图推入弹出窗口。在推动时,弹出窗口的高度会延长。如何保持相同的弹出高度?
答案 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];