更改方向后,iOS8无法重新调整模态表单的大小

log*_*han 5 ipad ios ios8

实际上我正在做的是在iPad上我正在呈现具有我自己尺寸(520 X 400)的模态表单.它第一次工作正常.然后,当我旋转(纵向到横向或横向到纵向)时,我的模态表单更改为ios默认大小.此外,我无法通过编程方式再次更改模态表单大小.因为,一旦方向改变了ios使我的(520X400)模态表格到其默认大小.知道怎么解决这个问题吗?

当我第一次展示我的模态时的截图

我更改设备方向时的屏幕截图

注意:

当我在ios7设备上运行时,我没有看到以下代码的任何问题.如果我的代码有任何问题,请指出我.因为我不知道ios8有什么问题

这是我用来更改模态表单大小的代码:

self.navigationController.view.superview.frame = CGRectMake(200, 220, 400, 605);
Run Code Online (Sandbox Code Playgroud)

log*_*han 16

最后我找到了解决上述方法的方法.

我的解决方案:

在ios8上只需将以下属性设置为模态视图即可解决此问题

在视图中加载:

CGRect rect = self.navigationController.view.superview.bounds;
rect.size.width = 605;
rect.size.height = 350;
self.navigationController.view.superview.bounds = rect;
self.navigationController.preferredContentSize = CGSizeMake(605, 350);
Run Code Online (Sandbox Code Playgroud)

在展示你的模态视图之前

your_modal_view.preferredContentSize = CGSizeMake(540.0f, 620.0f) //what ever the size you want
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助