动态更改UIPopoverController

时间:2013-03-28 14:32:25

标签: ios cocoa-touch uipopovercontroller

目前可以看到一个UIPopoverviewController .... 它的ViewController包含一个按钮,单击该按钮可将PopoverviewController的viewController更改为其他一些viewController。

效果很好,viewController成功改变......
但是PopoverViewController的内容大小仍然相同

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

:(大小仍未改变

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

1 个答案:

答案 0 :(得分: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];