У меня есть один UIViewController
(называемый B), который я хочу представить (принудительно) в альбомной ориентации.Все остальные UIViewControllers
представлены в портретном режиме.В моих настройках проекта выбран только портретный режим.Моя проблема в том, что когда я вернулся из B в A. Он завис в ландшафтном режиме.
Внутри AppDelegate:
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
if #available(iOS 10.0, *) {
if self.window?.rootViewController?.presentedViewController is CheckImageCameraViewController {
return UIInterfaceOrientationMask.landscapeRight
} else {
return UIInterfaceOrientationMask.portrait
}
} else {
// Fallback on earlier versions
}
return UIInterfaceOrientationMask.portrait
}
В контроллере A;
let controllerB = ControllerB()
self.present(controllerB,animated:true,completion:nil)
В контроллере B;
override func viewDidLoad() {
super.viewDidLoad()
let value = UIInterfaceOrientation.landscapeRight.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
}
func closeButtonTapped(){
self.dismiss()
}
EDIT: Когда он включен, если я перемещаю телефон, чтобы изменить ориентацию.Это выглядит в портрете.