Я использую viewWillTransitionToSize, чтобы определить, когда устройство вращается в ландшафт. В зависимости от размера объекта, можно обнаружить, если заголовок для ландшафта и корректировать свои черты в соответствии с требованиями ...iOS viewWillTransitionToSize и ориентация устройства
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
}
... но это не помогает, потому что это, как представляется, дать «старую» ориентацию статус.
Как я могу получить целевую ориентацию?