ios - 即时更改 UIPopoverController

标签 ios cocoa-touch uipopovercontroller

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

效果很好,viewController 更改成功......
但是 PopoverViewController 的 contentsize 还是一样的

让我们手动更改 contentSize
第 1 步:更改 View Controller
Step2 : popoverviewController.popovercontentSize = CGSizeMake(500,500);

:( 尺寸仍然没有变化

注意:View Controller 加载成功,如果 popover 的 contentsize 足够大以容纳两者,那么两个 viewController 都是可见的....

最佳答案

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

但是,一旦显示弹出框,它就不会再被读取,即使您更改了 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];

关于ios - 即时更改 UIPopoverController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15684553/

相关文章:

从主队列调用 dispatch_sync 时 iOS 死锁,执行的 block 保存到核心数据

objective-c - 如何在进入前景时保留 UIScrollView 的框架?

ios - 警报 View 没有确定/关闭按钮?

objective-c - iOS : how to dismiss popovers

iOS 7 : showing a popover from a search bar

ios - 我可以将现有的 Popover 用于 UIImagePickerController 吗?

ios - 缩放 ScrollView

ios - 如何在 iOS 中录制后将视频上传到 FTP 服务器?

ios - 当其中一项被删除时如何调整TableView高度

ios - 使用自动更新应用内购买时如何恢复正确的交易?