Попробуйте это:
[[UIApplication sharedApplication] statusBarOrientation]
Или в Swift 3:
UIApplication.shared.statusBarOrientation
Чтобы специально проверить конкретную ориентацию, вы также можете попробовать свойство isLandscape
или isPortrait
, например:
UIApplication.shared.statusBarOrientation.isLandscape
Проблема с [[UIDevice currentDevice] orientation]
заключается в том, что он также вернет UIInterfaceOrientationUnknown
, а statusBarOrientation
- нет.
Существует также свойство UIViewController
interfaceOrientation
, но оно устарело в iOS 8, поэтому не рекомендуется.
Вы проверяете документацию для statusBarOrientation
здесь