I have a UI where the layout works in any orientation, but specific UI elements need rotating to match the current device orientation, and the status bar should always be in the current orientation. To do this, in my view controller I have
- (BOOL)shouldAutorotate {
return NO;
}
In my setup I do
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(interfaceChange:) name:UIDeviceOrientationDidChangeNotification object:nil];
In the selector I animate the interface changes and status bar orientation to the new device orientation. This works fine in my App, but did cause layout problems with the control centre on one occasion. I just wanted to check this is the best/correct way of achieving this?