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

Posted

技术标签:

【中文标题】更改方向后iOS8无法重新调整模态表单的大小【英文标题】:iOS8 unable to re-size the modal form sheet after changing the orientation 【发布时间】:2014-09-11 12:52:09 【问题描述】:

实际上我在 iPad 上做的是呈现模态表单 我自己的尺寸(520 X 400)。它第一次运行良好。 然后当我旋转时(纵向到横向或横向到纵向) 我的模态表单更改为 ios 默认大小。另外,我无法 以编程方式再次更改模态表单大小。自从, 一旦方向改变 ios 制作我的 (520X400) 模态表单 到它的默认大小。知道如何解决这个问题吗?。

注意:

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

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

self.navigationController.view.superview.frame = CGRectMake(200, 220, 400, 605);

【问题讨论】:

【参考方案1】:

最后我想出了一种方法来解决上述问题。

这是我的解决方案:

在 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);

在呈现模态视图之前

your_modal_view.preferredContentSize = CGSizeMake(540.0f, 620.0f) //what ever the size you want

希望对你有帮助

【讨论】:

所以如果你添加了preferredContentSize,那么它就可以工作了,亲爱的!谢谢

以上是关于更改方向后iOS8无法重新调整模态表单的大小的主要内容,如果未能解决你的问题,请参考以下文章

如何避免在方向更改后调整 UITableView(旋转)单元格的大小?

自动布局 - UILabel 在方向更改后宽度缩小,这是由另一个应该自动调整字体大小的 UILabel 引起的

iPhone OS 图像/照片大小调整工具更改 EXIF 方向数据

phonegap 2.2 方向更改不会调整应用程序大小

Foundation 6 Reveal Modal 无法使用动态数据正确调整大小

ios 8 更改呈现/模态视图控制器的大小