我有许多ViewControllers的复杂应用程序。整个应用程序设计为纵向模式并锁定它。
现在我需要部分应用才能在横向展示内容。一切都很好,不包括一个场景:
我在控制器上,它被锁定为纵向并且设备处于横向位置 - 我导航到启用了横向的新控制器。然后新控制器不会旋转到横向。如果我再次将手机旋转为纵向和横向,控制器将正确旋转(如果我以纵向进入设备的新控制器,一切都很好,窗口旋转,如果我旋转设备。 我试过了:
let value = UIDevice.currentDevice().orientation.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
在viewWillAppear中,但它没有用(我认为它无法正常工作,因为UIDevice.currentDevice().orientation
已经处于请求的方向。
答案 0 :(得分:1)
尝试将此添加到您的代码中,看看您是否得到了您期望的结果。
override func viewDidLoad() {
let value = UIInterfaceOrientation.Portrait.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
shouldAutorotate()
}
override func shouldAutorotate() -> Bool {
switch UIDevice.currentDevice().orientation {
case .Portrait, .PortraitUpsideDown, .Unknown:
return true
default:
return false
}
}