ROTATION后,多个MODAL VIEW控制器将基本模态更改为FULL SCREEN

时间:2012-10-24 22:49:09

标签: ipad rotation ios6 modalviewcontroller screen-size

这让我困扰了很长一段时间,我对此做了很多研究,但找不到答案。我第一次在这里发帖提问,如果我犯了错误,请更正/原谅我。

环境:iPad,iOS 6.0

问题:旋转后基本模态视图更改为全屏。

描述:我有一个全屏应用程序正在运行,目前显示模态视图控制器。从显示模式视图中,我通过执行以下操作显示另一个模态视图:

vc.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:vc animated:YES];
//[self presentViewController:vc animated:YES completion:NULL];

当第二个视图出现时,我旋转iPad设备。基本(第一)模态视图变为全屏,最顶层(第二)模态视图保持为formSheet样式。 (正确旋转)

我可以通过向navigationController添加模态视图来解决这个问题,但我希望将其保存在模态视图中。

任何人都知道修复?我相信这里的人有同样的问题: ios 6 Incorrect modal view size after rotation

顺便说一下,iOS 5中一切正常。苹果改变了iOS 6中的旋转方式。 谢谢, -Peter

2 个答案:

答案 0 :(得分:4)

我找到了解决这个问题的方法。在呈现之前,将最后一个模态视图的演示样式设置为UIModalPresentationCurrentContext。

像这样:

vc.modalPresentationStyle = UIModalPresentationCurrentContext; [self presentModalViewController:vc animated:YES];

这样可以在旋转iPad屏幕后解决基本模态视图更改大小。

最初由Apple Dev forum的人回答。

答案 1 :(得分:1)

我遇到了完全相同的问题,并使用了iOS 6: Parent modal's modalPresentationStyle ignored after rotation中的代码,就像魅力一样