我在这里很新。 我在UISplitView中使用新的iOS 5.1幻灯片弹出窗口有问题。 (在5.1之前,主视图控制器以弹出框形式显示,但现在它只是从左侧滑动。) 当我的设备处于纵向模式并且它收到内存警告时,主视图控制器卸载;当我按下工具栏按钮在主视图中滑动时,它会再次加载。 然而,在内存警告之后,它以全屏显示,而不仅仅是原始主视图的大小。 (当我将设备旋转到横向并回到纵向时,它会恢复正确的尺寸。)
在iOS 5.1之前,它总是以正确的大小呈现在popover中。
任何人都有一个想法,如何纠正这个?
我尝试设置主视图的帧大小,但它没有解决问题。
非常感谢任何帮助!
答案 0 :(得分:5)
我遇到了同样的问题,但我使用此代码来解决问题:
-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController
{
aViewController.view.frame = CGRectMake(0, 0, 320, self.view.frame.size.height);
}
显然,当收到内存警告时,视图控制器会被释放,所以当它再次出现时,它会从它的父视图中获取它的大小,这是全屏的。因此,您只需在每次加载时重置帧。
答案 1 :(得分:0)
我遇到了同样的麻烦。
您应该将以下代码添加到AppDelegate。
splitViewController.presentsWithGesture = NO;