我使用 viewWillTransitionToSize 方法来检测设备是否旋转到横向模式。根据目标尺寸,我可以检测是否朝着横向模式,并根据需要调整我的 traits...
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
if size.width > size.height {
self.setOverrideTraitCollection(UITraitCollection(horizontalSizeClass: UIUserInterfaceSizeClass.Regular), forChildViewController: viewController)
}
else{
self.setOverrideTraitCollection(nil, forChildViewController: viewController)
}
super.viewWillTransitionToSize(size, withTransitionCoordinator: coordinator)
}
然而,我希望能够检测设备是否正在进行横向左侧或横向右侧的转换。这将允许我根据设备的特定方向创建不同的行为或视图(左侧或右侧)。
如果不使用任何已弃用的函数,这是否可能?
我考虑过使用状态栏方向...
let orientation = UIApplication.sharedApplication().statusBarOrientation;
if( orientation == UIInterfaceOrientation.LandscapeLeft )
{
// Do something
}
else if( orientation == UIInterfaceOrientation.LandscapeRight )
{
// Do something else
}
...但这并没有帮助,因为这似乎给出了“旧”的状态方向。
我该如何获取特定的目标方向?