Я не уверен насчет 8 различных значений, учитывая, что документация показывает
typedef enum {
UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight,
UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft
} UIInterfaceOrientation;
Вы можете записать это прямо перед тем, как зарегистрировать ориентацию и посмотреть, какая она.
NSLog(@"UIInterfaceOrientationPortrait-%d\n\
UIInterfaceOrientationPortraitUpsideDown-%d\n\
UIInterfaceOrientationLandscapeLeft-%d\n\
UIInterfaceOrientationLandscapeRight-%d", UIInterfaceOrientationPortrait, UIInterfaceOrientationPortraitUpsideDown, UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationLandscapeRight);
Существуют удобные способы проверки конкретных ориентаций, например
UIInterfaceOrientationIsLandscape
Returns a Boolean value indicating whether the user interface is currently presented in a landscape orientation.
#define UIInterfaceOrientationIsLandscape(orientation) \
((orientation) == UIInterfaceOrientationLandscapeLeft || \
(orientation) == UIInterfaceOrientationLandscapeRight)