iOS检测*物理*旋转

时间:2018-06-17 01:35:09

标签: ios iphone swift rotation

我正在编写一个应用程序,并且在某个控制器上我想强制将应用程序设置为横向,我可以使用此代码执行:

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()
    }
}

因此在加载控制器时视图已被强制转换为横向视图,但我想检测用户实际旋转设备的时间以匹配我强制使用的方向。这可能吗?当您旋转到我已经布置的方向时,下面的代码似乎没有触发,它被调用进一步旋转,但我希望它在用户旋转设备以匹配方向时触发。这可能吗?

0 个答案:

没有答案