0

一个 UIPopoverviewController 当前可见....
它的 ViewController 包含一个按钮,单击该按钮会将 PopoverviewController 的 viewController 更改为其他一些 viewController。

效果很好,viewController 更改成功......
但 PopoverViewController 的 contentsize 仍然相同

让我们手动更改 contentSize第 1 步
:视图控制器已更改
第 2 步:popoverviewController.popovercontentSize = CGSizeMake(500,500);

:( 尺寸仍然没有变化

注意:两个视图控制器都加载成功并且如果弹出框的内容大小足够大以容纳两者,那么两个视图控制器都是可见的......

4

1 回答 1

2

[UIViewController contentSizeForViewInPopover]只读一次 - 显示弹出框时。您可以将其视为弹出框控制器大小的初始值。

但是,一旦显示弹出框,即使您更改了contentViewController.
你必须[UIPopoverController setPopoverContentSize:animated:]改用。

UIPopoverController* popover = [... already existing and visible popover ...];
UIViewController* newPopoverContents = [... new content for the popover ...];

[popover setPopoverContentSize:newPopoverContents.contentSizeForViewInPopover
                      animated:YES];
[popover setContentViewController:newPopoverContents 
                         animated:YES];
于 2013-03-28T14:44:48.457 回答