我正在构建一个ios应用程序,目前只支持纵向模式。我只想转换为横向模式。但是当我试图改变我的观点时,它只会坚持纵向模式。我也改变了我的nib文件中的方向。但它没有用。你能告诉我哪个约束阻止它以纵向模式查看。任何人都建议我强行转换为横向模式。
答案 0 :(得分:0)
应用程序的Info.plist
文件包含应用程序将响应的方向的应用程序默认设置。您可以双击它在Xcode中编辑它,然后在那里轻松设置键,或者您可以直接编辑plist源来执行此操作。
来自Information Property List Key Reference:
...例如,为iPhone指定纵向启动方向 和iPod touch设备以及横向右侧的发射方向 iPad,您应该在Info.plist中指定相应的键 文件:
<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationPortrait</string>
<key>UIInterfaceOrientation~ipad</key>
<string>UIInterfaceOrientationLandscapeRight</string>
还可以覆盖每个ViewController方法,以确定该特定视图是否将定向到设备方向。
来自UIViewController文档:
处理视图轮播
在iOS 8中,所有与旋转相关的方法都是 弃用。相反,旋转被视为大小的变化 视图控制器的视图,因此使用
viewWillTransitionToSize:withTransitionCoordinator:
方法。当。。。的时候 界面方向改变,UIKit在窗口上调用此方法 根视图控制器。那个视图控制器然后通知它的孩子 查看控制器,在整个视图中传播消息 控制器层次结构。在iOS 6和iOS 7中,您的应用支持界面方向 在您的应用的Info.plist文件中定义。视图控制器可以覆盖 限制列表的
supportedInterfaceOrientations
方法 支持的方向。通常,系统仅调用此方法 在窗口的根视图控制器或视图控制器上 呈现以填满整个屏幕;子视图控制器使用 窗口的一部分由父视图为它们提供 控制器,不再直接参与决定什么 支持旋转。应用程序方向的交集 掩码和视图控制器的方向掩码用于确定 视图控制器可以旋转到哪个方向。您可以覆盖
preferredInterfaceOrientationForPresentation
一个视图控制器,旨在全屏显示 具体方向。
答案 1 :(得分:0)
我只是忘了在我的AppDelegate实现中添加一行代码。我只是放了那行代码,现在它完全没问题。
代码是self.window.rootviewController = self.ViewController