iOS 5.1中的内存警告后,UISplitView新的幻灯片弹出窗口变为全屏

Jox*_*oxy 5 size slide popover uisplitviewcontroller ios5.1

我在这里很新.我在UISplitView中遇到了新的iOS 5.1幻灯片弹出窗口问题.(在5.1之前,主视图控制器以弹出框形式显示,但现在它只是从左侧滑动.)当我的设备处于纵向模式并且它收到内存警告时,主视图控制器卸载; 当我按下工具栏按钮在主视图中滑动时,它会再次加载.然而,在内存警告之后,它以全屏显示,而不仅仅是原始主视图的大小.(当我将设备旋转到横向并回到纵向时,它会恢复正确的尺寸.)

在iOS 5.1之前,它总是以正确的大小呈现在popover中.

任何人都有一个想法,如何纠正这个?

我试图设置主视图的帧大小,但它没有解决问题.

任何帮助深表感谢!

小智 5

我有同样的问题,但我使用此代码来解决问题:

-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController
{
    aViewController.view.frame = CGRectMake(0, 0, 320, self.view.frame.size.height);
}
Run Code Online (Sandbox Code Playgroud)

显然,当收到内存警告时,视图控制器会被释放,所以当它再次出现时,它会从它的父视图中获取它的大小,这是全屏的.因此,您只需在每次加载时重置帧.