我需要支持我的应用程序中的所有接口定向掩码。
一些视图控制器不应该自动旋转(它只支持纵向),但应用程序仍然需要支持所有方向。
Expected result
我试图在UINavigationController中设置shouldAutorotate = true; supportedInterfaceOrientations = All,在根视图controller中设置shouldAutorotate = false; supportedInterfaceOrientations = Portrait。但没用。

最佳答案

您可以在仅支持纵向模式的viewControllers中使用此选项

override func shouldAutorotate() -> Bool {
    if (UIDevice.currentDevice().orientation == UIDeviceOrientation.Portrait ||
        UIDevice.currentDevice().orientation == UIDeviceOrientation.PortraitUpsideDown ||
        UIDevice.currentDevice().orientation == UIDeviceOrientation.Unknown) {
            return true;
    } else {
        return false;
    }
}

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
    return UIInterfaceOrientationMask.Portrait
}

关于ios - 如何禁用UINavigationController的根 View Controller 的自动旋转?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36082596/

10-11 16:25