self.interfaceOrientation
возвращает UIInterfaceOrientation, текущую ориентацию интерфейса.Это свойство в UIViewController, доступ к нему можно получить только в классах UIViewController.
[[UIApplication sharedApplication] statusBarOrientation]
возвращает UIInterfaceOrientation, текущую ориентацию строки состояния приложения.Вы можете получить доступ к этому свойству в любой точке вашего приложения.Мой опыт показывает, что это более эффективный способ получения реальной ориентации интерфейса.
[[UIDevice currentDevice] orientation]
возвращает UIDeviceOrientation , ориентацию устройства.Вы можете получить доступ к этому свойству в любой точке вашего приложения.Но обратите внимание, что UIDeviceOrientation не всегда является UIInterfaceOrientation.Например, когда ваше устройство находится в простой таблице, вы можете получить неожиданное значение.