首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转到纵向模式后的self.view.bounds在iOS 8中

旋转到纵向模式后的self.view.bounds在iOS 8中
EN

Stack Overflow用户
提问于 2014-08-08 09:20:55
回答 1查看 2.9K关注 0票数 2

在我的应用程序中,我动态地使用self.view.bounds定位子视图,而不是使用Autolayout。当视图在iOS 8上旋转到纵向模式时,我看到视图出现后的self.view.bounds是{568,320},而不是iOS 7上的{320,568}的自然行为。如何得到正确的结果?

编辑:我忘了说我在哪里做这件事。这种情况发生在viewDidAppear:。self.view.bounds的值在viewWillAppear中是正确的,但不知何故,它在viewDidAppear中搞砸了。

编辑2:这是我在进一步钻探时发现的。下面是我的代码所特有的场景:

我在代码中阻止了自动旋转,只在视图开始时返回景观方向(这与我正在做的相机和opengl设置有关,我不想在所有设置完成之前自动调整界面,

b.The视图在XIB中是自由格式的,具有灵活的宽度、高度和自动调整掩码的所有边缘。

基于上面的调整大小掩码,iOS 7给出的self.view.bounds大小等于{320,568},即使没有发生自动旋转。iOS 8以某种方式忽略了相同的调整大小掩码&边界仍然是{568,320}

因此,问题的根源是UIWindow在iOS 8中使用设备进行自动调整,而视图控制器则拒绝自动访问。

EN

回答 1

Stack Overflow用户

发布于 2014-10-13 22:39:14

在iOS 8中,[[UIScreen mainScreen] bounds]返回的矩形考虑了设备的旋转。当设备处于景致状态时,肖像框将不再返回。

更新-for-iOS-8文档 for UIScreen -bounds状态:

此矩形是在当前坐标空间中指定的,该坐标空间考虑到对设备有效的任何接口旋转。因此,当设备在纵向和景观方向之间旋转时,该属性的值可能会发生变化。

在iOS 8之前,讨论部分简单地说:

包含屏幕的边框,以点为单位。(只读)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25200026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档