- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对模拟器中的 iOS 6 和 AutoLayout 有一个一般性问题。
我的应用程序也针对 iOS 5 和 iOS 6。我需要在 StoryBoard 中关闭 AutoLayout,否则应用程序会在 iOS 5 模拟器中崩溃(因为 iOS6 首先支持 AutoLayout)。
但是当我启动 iOS 6 模拟器时,所有 View 都在旋转,所有 subview 都在相应地调整大小。使用 iOS 5 模拟器时,所有 View 都不会随着设备方向的改变而旋转。
这也会发生在真实设备上吗?那么,即使在 Storyboard 中关闭 AutoLayout 选项,所有 View 是否会随着 iOS 6 的设备方向旋转,并且在真实设备上会更好?
谢谢!
最佳答案
Apple 改变了 iOS 6 中自动旋转的工作方式。
如果您在 Xcode 4.6 中创建项目,Xcode 会将其设置为使用 iOS 6 自动旋转 API。项目模板允许纵向、横向左和横向右方向(以及 iPad 应用程序中的倒置纵向)。因此,当您在 iOS 6(设备或模拟器)上运行应用程序时,应用程序允许界面旋转。
当您在 iOS 5 上(在模拟器或设备上)运行该项目时,系统会忽略 iOS 6 自动旋转 API 并查找 shouldAutorotateToInterfaceOrientation:
View Controller 上的方法。由于 Xcode 4.6 没有创建该方法(并且可能你没有添加它),系统使用默认实现,它只返回 YES
用于纵向。因此,在 iOS 5 上,您不会获得任何界面旋转。
如果您不希望界面旋转,简单的解决方案是转到目标的摘要并关闭横向。
您可以从几个官方来源了解更多信息:
关于ios - 为什么在 iOS 6 中会发生自转,而在 iOS 5 中不会发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17437472/
我是一名优秀的程序员,十分优秀!