Osservare UIDeviceOrientationDidChangeNotification
:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationDidChange:) name:UIDeviceOrientationDidChangeNotification object:nil];
...
- (void)orientationDidChange:(NSNotification *)note
{
NSLog(@"new orientation = %d", [[UIDevice currentDevice] orientation]);
}
UIDevice Class Reference
Vorrei sottolineare che yo uneed da aggiungere -beginGeneratingDeviceOrientationNotifications
quando si desidera queste notifiche da inviare, e chiamare -endGeneratingDeviceOrientationNotifications
quando si desidera loro di smettere. C'è un impatto della batteria nel generare questi, quindi dovresti farlo solo quando la tua vista è sullo schermo. UIViewController
fa tutto questo per te, quindi se hai un controller di visualizzazione, vale la pena lasciarlo fare il lavoro.
fonte
2009-09-01 15:31:54
Questa sarebbe una soluzione perfetta se le modifiche apportate a una chiamata di LayoutSubviews fossero animabili. –