2013-03-28 53 views
0

一个UIPopoverviewController当前可见....
其ViewController包含一个按钮并单击该按钮将PopoverviewController的viewController更改为某个其他viewController。动态更改UIPopoverController

伟大工程,成功的viewController改变......
但PopoverViewController的contentsize仍然是相同的

让改变contentSize手动
第一步:浏览器更改
第二步:popoverviewController.popovercontentSize = CGSizeMake( 500500);

:(仍然没有改变大小

注意:两个视图控制器加载成功,如果酥料饼的contentsize是大到足以容纳两个那么这两个的viewController可见....

+0

请张贴代码。 – danh

回答

2

[UIViewController contentSizeForViewInPopover]读只有一次 - 显示弹出窗口时,您可以将它看作弹出窗口控制器大小的初始值

但是,一旦显示弹出窗口,即使您更改了弹出窗口,它也不会再次被读取contentViewController
你必须使用[UIPopoverController setPopoverContentSize:animated:]插件TEAD。

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

如果popoverview是可见的,做一些在酥料饼可以改变其大小或没有使其不可见并再次可见? .....它不改变对我来说证实是工作 – bhawesh

+1

@ancode添加的代码。如果它不适合你,你的问题可能在别的地方。 – Sulthan

+0

:)知道了这个错误是我第一次改变视图控制器,然后设置大小.....改变大小首次提出其工作... :) – bhawesh