无法嵌入UIViewController来旋转

时间:2015-02-21 08:34:53

标签: ios objective-c xcode swift uikit

在我介绍我的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不会旋转。我能以代码的形式获得一些帮助吗?谢谢。

1 个答案:

答案 0 :(得分:1)

您不必编写代码,请确保在应用程序目标 - >常规标签中 - >部署信息,您还检查了横向左侧和横向右侧选项以及“设备方向”字段中的“纵向”选项。