在我介绍我的UINavigationController之前,我的应用程序在横向旋转。现在看来UINavigationController似乎在旋转,但是viewcontroller却没有。我已经阅读了所有文档,结束了,我无法弄清楚这一点。
这是appDelegate中的代码
// UINAVIGATIONCONTROLLER
let ksNavigationController = KSNavigationController()
// UIVIEWCONTROLLER
let gameViewController = GameViewController()
ksNavigationController.pushViewController(gameViewController, animated: false)
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.rootViewController = ksNavigationController
我在苹果的文档中读到:
从iOS 6开始,只有最顶层的视图控制器(与UIApplication对象一起)参与决定是否旋转以响应设备方向的更改。通常,显示内容的视图控制器是UINavigationController,UITabBarController或自定义容器视图控制器的子代。您可能会发现自己需要子类化容器视图控制器,以便修改其supportedInterfaceOrientations和shouldAutorotate方法返回的值
所以我在UINavigationController子类
中完成了这个override func shouldAutorotate() -> Bool {
return true
}
override func supportedInterfaceOrientations() -> Int {
return Int(UIInterfaceOrientationMask.Landscape.rawValue)
}
它不起作用。我的UIViewController不会旋转。我能以代码的形式获得一些帮助吗?谢谢。
答案 0 :(得分:1)
您不必编写代码,请确保在应用程序目标 - >常规标签中 - >部署信息,您还检查了横向左侧和横向右侧选项以及“设备方向”字段中的“纵向”选项。