在 iPad 上锁定方向并禁用旋转

Lock orientation and disable rotation on iPad

我得到以下代码,它在 iPhone 上运行良好,但在 iPad 上运行不佳。它应该锁定横向方向并仅针对此 viewcontroller 禁用自动旋转(不适用于整个应用程序 - 不更改 project/info.plist 文件中的属性):

override var shouldAutorotate : Bool {
        return false
}

并在 viewDidLoad() 中:

let landscapeValue = UIInterfaceOrientation.landscapeRight.rawValue
UIDevice.current.setValue(landscapeValue, forKey: "orientation")

如何将当前 ViewController 的方向锁定为横向并禁用旋转(就像它已经在 iPhone 上完美运行一样)?

我的规格:

XCode - 9.1 版本 9B55

Swift - 4.0.2

在 iPad Air 上测试 - iOS 10.3.3

我的问题的答案其实很简单。您必须在项目的部署信息中激活需要全屏。之后 iPad 的行为与使用此代码的 iPhone 相同。