5

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

在 iOS 5.1 之前,它总是以正确的大小显示在弹出窗口中。

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

我试图设置主视图的框架大小,但它并没有解决问题。

任何帮助深表感谢!

4

2 回答 2

5

我有同样的问题,但我用这段代码解决了这个问题:

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

显然,当收到内存警告时,视图控制器会被释放,因此当它再次出现时,它会从它的父视图(全屏)中获取它的大小。所以你只需要在每次加载时重置框架。

于 2012-04-05T13:21:09.163 回答
0

我有同样的麻烦。

您应该将以下代码添加到 AppDelegate。

splitViewController.presentsWithGesture = NO;

于 2012-04-02T04:05:41.103 回答