UIPopOverController在旋转时丢失内容
我的UIPopOverController在旋转(不可重现)时有时丢失其内容,或者例如我从横向中的桌面视图中打开一些内容,将设备旋转为纵向,然后以纵向方式打开相同的内容。UIPopOverController在旋转时丢失内容
显示Popovercontroller,但没有内容可见,即它是黑色....有没有人偶然发现过这个或类似的东西?
我在使用UIPopoverController发生旋转后遇到了类似的问题(UIPopoverController的大小奇怪地改变了,它将自己重新定位到屏幕上的奇怪位置等)。
对我来说,诀窍是重载应用程序中的UIViewController的didRotateFromOrientation:(UIInterfaceOrientation)方法。所以,过载,从应用的UIViewController类时显示UIPopoverController正在显示和呼叫UIPopoverController的presentPopoverFromRect方法:方法再从那里:
-(void) didRotateFromOrientation:(UIInterfaceOrientation)uiOrientation {
if (popoverController.popoverVisible) {
// Define rect to be the UI component's rect where you want to tie the popoverController
CGRect rect = CGRectMake(...);
// This method will reposition the popover correctly
[popoverController presentPopoverFromRect:rect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:NO];
}
}
请注意,如果你是绑UIPopoverController使用UIPopoverController的presentPopoverFromBarButtonItem的UIBarButtonItem:法,系统应该在旋转后自动地正确定位弹出框。
良好的解决方法...为了更好的结果设置popoverContentSize和contentViewController之前再次呈现popoverController! – Beppe 2013-12-08 12:29:09
到目前为止没有,但你可以在旋转和显示后转储视图控制器视图的框架吗?也许有什么限制/没有正确设置。 – 2011-04-16 08:42:34