这让我困扰了很长一段时间,我对此做了很多研究,但找不到答案。我第一次在这里发帖提问,如果我犯了错误,请更正/原谅我。
环境: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
答案 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中的代码,就像魅力一样