我有一个
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()
}
编辑
当它在A上时,如果我移动手机来改变方向。它看起来像肖像。