如何在iPad中检查设备方向从纵向更改为横向和副 – Versa

我有一个拆分视图控制器,我在里面展示一个popup窗口。 现在,当设备的方向从风景转换为人像时,我必须运行一段代码,如果它从纵向更改为风景,我必须运行另一段代码。 如何在Swift中实现这一点。

从iOS 8.0开始您可以使用下面的方法检测方向更改。

在目标-c

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator 

迅速

 func viewWillTransitionToSize(_ size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) 

从大小,你可以find。

ViewDidLoad添加以下代码:

 NSNotificationCenter.defaultCenter().addObserver(self, selector: "orientationChanged", name: UIDeviceOrientationDidChangeNotification, object: nil) 

然后,创build一个如下所示的函数

 func orientationChanged() { if(UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation)){ print("landscape") } if(UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation)){ print("Portrait") } } 

希望这会帮助你:)