Приложение, в котором я начал работать, поддерживает все ориентации устройства, кроме одного из видов, который является альбомным.
Чтобы принудительно установить эту ориентацию, я устанавливаю значение ориентации lanscape через AppDelegate:
AppDelegate.swift
var shouldSupportAllOrientation = true
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
if (shouldSupportAllOrientation == true){
return UIInterfaceOrientationMask.all
}
return UIInterfaceOrientationMask.landscape
}
ViewController.swift
let appdelegate = UIApplication.shared.delegate as! AppDelegate
appdelegate.shouldSupportAllOrientation = false
let value = UIInterfaceOrientation.landscapeRight.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
Но когда приложение переходит к другому контроллеру представления,и устройство находится в портретной ориентации (физически), виды отображаются в ландшафтном режиме до тех пор, пока устройство не будет повернуто.
Есть ли способ определения «реальной ориентации устройства»?
Спасибо