да, я тоже это ненавижу ...
все, что я нашел, чтобы решить это, было сделать это самостоятельно:
- (void)myAutomaticRotation{
if (A.view.frame.size.width > A.view.frame.size.height) {
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration: 0.5f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(M_PI/2);
self.view.bounds = CGRectMake(0.0f, 0.0f, 320.0f, 480.0f);
A.view.frame = CGRectMake(0,0,320, 480);
[UIView commitAnimations];
}
}
вы можете вызывать myAutomaticRotation в главном / супер UIViewController при переходе к A.view,
и в том же месте вы должны использовать:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
}
, где вы можете проверить используемый вид (A, B) и разрешить ландшафтный режим только для B ...
Luca