Иногда я делаю это следующим образом, вставляя код, чтобы перемещать элементы управления по мере необходимости.
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration{
if (self.interfaceOrientation == UIDeviceOrientationPortrait || self.interfaceOrientation == UIDeviceOrientationPortraitUpsideDown)
{
//setup your interface for portrait
}
else
if (self.interfaceOrientation == UIDeviceOrientationLandscapeLeft || self.interfaceOrientation == UIDeviceOrientationLandscapeRight)
{
//setup your interface for landscape
// your code to move buttons etc would go here
}
}