如何强制Swift iOS游戏应用程序以横向打开? (GameViewController)

问题描述:

我正在用Spritekit在iOS中创建游戏,并且我希望我的游戏只能处于横向方向。然而,每当我在模拟器中测试我的游戏时,无论我尝试什么,它总是以纵向方向加载。我已阅读在这个问题上很多堆栈溢出后,我曾尝试没有成功如下:如何强制Swift iOS游戏应用程序以横向打开? (GameViewController)

GameViewController

override var shouldAutorotate: Bool { 
    return false 
} 

override var supportedInterfaceOrientations: UIInterfaceOrientationMask { 
    return [UIInterfaceOrientationMask.landscapeLeft, UIInterfaceOrientationMask.landscapeLeft] 
} 

请注意,我也尝试从真切换自动旋转为false。这也没有用。

Xcode项目文件

Xcode project file

的Info.plist

Info.plist

这都不是工作

+0

什么是你的Xcode版本?如果您在macOS X 10.2.x下使用Xcode 8.3.x,则可能存在错误。 –

+0

@ElTomato Xcode 9 beta Swift 4 –

尝试添加此功能:

func navigationControllerSupportedInterfaceOrientations(_ navigationController: UINavigationController) -> UIInterfaceOrientationMask { 
    return UIInterfaceOrientationMask.portrait 
} 
+0

我希望它在风景 –

使用UIInterfaceOrientationMask设置方向。

private var orientations = UIInterfaceOrientationMask.landscapeLeft 
    override var supportedInterfaceOrientations : UIInterfaceOrientationMask { 
     get { return self.orientations } 
     set { self.orientations = newValue } 
    } 
    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 
+0

什么我为newValue –

+0

@StevenCassidy newValue是landscapeLeft已经定义,我编辑答案。试试这个代码将工作:) – Jack

+0

我把这个在我的视图控制器或我的场景 –