Ipad 多模态视图控制器在旋转后将基本模态更改为全屏

Ipad 多模态视图控制器在旋转后将基本模态更改为全屏,ipad,rotation,ios6,modalviewcontroller,screen-size,Ipad,Rotation,Ios6,Modalviewcontroller,Screen Size,这一直困扰着我很长一段时间,我对此做了很多研究,但没有找到答案。我第一次在这里发帖,如果我犯了错误,请纠正/原谅我 环境:iPad、iOS 6.0 问题:旋转后基本模式视图更改为全屏 描述:我有一个全屏应用程序正在运行,显示一个模态视图控制器。在显示模式视图中,我通过执行以下操作显示另一个模式视图: vc.modalPresentationStyle = UIModalPresentationFormSheet; [self presentModalViewController:vc anima

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

环境:iPad、iOS 6.0

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

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

vc.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:vc animated:YES];
//[self presentViewController:vc animated:YES completion:NULL];
当第二个视图出现时,我旋转iPad设备。基本(第一个)模式视图变为全屏,最顶部(第二个)模式视图保持表单样式。(正确旋转)

我可以通过将模态视图添加到navigationController来修复此问题,但我希望将其保留在模态视图中

有人知道怎么解决吗?我相信这个人也有同样的问题:

顺便说一句,在iOS 5中一切正常。苹果改变了iOS 6中轮换的工作方式。 谢谢
-peter

我遇到了完全相同的问题,并且在工作中使用了代码。我找到了这个问题的解决方案。在显示前,将最后一个模态视图的显示样式设置为UIModalPresentationCurrentContext

像这样:

vc.modalPresentationStyle=UIModalPresentationCurrentContext; [self-presentModalViewController:vc动画:是]

这解决了旋转iPad屏幕后基本模式视图改变大小的问题


最初由上的人回答。

FWIW,这非常有效,但我必须在子视图控制器中设置它,我无法从PresentGVC在PrepareForsgue中设置它。