我遇到了一个分离的UIPopovercontroller的问题,我希望有人以前见过这种行为。
我的应用程序在横向模式下运行,并使用presentPopoverFromRect调用提供了许多弹出元素。如果弹出画面是从iPad显示屏的上方2/3rds显示的,那么弹出窗口似乎工作得很好,然而,当试图从屏幕底部1/3的位置启动弹出画面时,弹出画面显示为与UIButton分离。
我已经通过在显示器的下部1/3创建了一个CGRect对象来使用固定位置呈现弹出画面,但是当iPad呈现弹出画面时,它要么在视图的上部2/3呈现弹出画面,要么在屏幕的最底部呈现弹出画面(如果我强制将CGRect值设置为较大的y值)。
在这一点上,我没有想法,并希望论坛上的人已经看到了这一点,或者可以就如何尝试提出建议。
谢谢你的帮助,韦斯
发布于 2011-02-10 21:57:15
我能够解决我的问题,并认为我可以分享我的解决方案,以防其他人也有同样的问题。
解决方案是在调用presentPopoverFromRect之前添加一个调用来设置弹出大小。
[mySettingsPopoverController setPopoverContentSize:CGSizeMake(320, 320) animated:YES];
[mySettingsPopoverController presentPopoverFromRect:sender.frame inView:self.navigationButtonsView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];在此之前,我没有在呈现popover之前设置popover内容的大小。在popover的视图控制器的viewDidAppear方法中,我调整了popover的大小以适应popover中的表视图。显然,通过在呈现popover之前不设置popovercontentsize,您会得到未定义的行为,包括使popover从它应该附加到的元素分离的可能性。
Wes
https://stackoverflow.com/questions/4941358
复制相似问题