我正在编写一个应用程序,并且在某个控制器上我想强制将应用程序设置为横向,我可以使用此代码执行:
func viewDidLoad() {
if UIDeviceOrientationIsPortrait(UIDevice.current.orientation) {
let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
addRotationGraphic()
}
NotificationCenter.default.addObserver(self, selector: #selector(MyClass.rotated), name: NSNotification.Name.UIDeviceOrientationDidChange, object: nil)
}
@objc func rotated() {
if UIDeviceOrientationIsLandscape(UIDevice.current.orientation) {
rotationView.removeFromSuperview()
}
}
因此在加载控制器时视图已被强制转换为横向视图,但我想检测用户实际旋转设备的时间以匹配我强制使用的方向。这可能吗?当您旋转到我已经布置的方向时,下面的代码似乎没有触发,它被调用进一步旋转,但我希望它在用户旋转设备以匹配方向时触发。这可能吗?