Наблюдать UIDeviceOrientationDidChangeNotification
:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationDidChange:) name:UIDeviceOrientationDidChangeNotification object:nil];
...
- (void)orientationDidChange:(NSNotification *)note
{
NSLog(@"new orientation = %d", [[UIDevice currentDevice] orientation]);
}
Ссылка на класс UIDevice
Следует отметить, что вам нужно добавить -beginGeneratingDeviceOrientationNotifications
, когда вы хотите, чтобы эти уведомления отправлялись, и позвонить по номеру -endGeneratingDeviceOrientationNotifications
, когда вы хотите, чтобы они прекратились. Генерация этих элементов влияет на батарею, поэтому делать это следует только тогда, когда вы видите на экране. UIViewController
делает все это за вас, поэтому, если у вас есть контроллер представления, стоит позволить ему выполнить свою работу.