【发布时间】:2018-07-03 13:52:36
【问题描述】:
我有以下代码在 iPhone 上运行良好,但在 iPad 上却不行。它应该锁定横向方向并仅针对此视图控制器禁用自动旋转(不适用于整个应用程序 - 不更改 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
斯威夫特 - 4.0.2
在 iPad Air - iOS 10.3.3 上测试
【问题讨论】:
-
关于 1):正如我所说,这将锁定我的整个应用程序,而不仅仅是一个视图控制器到所需的方向。关于 2):我在使用此代码的控制器上没有任何 NavigationController 作为父级。
标签: ios swift ipad orientation screen-rotation