我在导航堆栈上有ViewControllers A和B. A不支持横向,B确实如此。如果用户在观看B时旋转到横向,然后点击“返回”按钮,则A现在处于横向状态。我该如何防止这种情况?是否有充分的理由不尊重A的shouldAutorotateToInterfaceOrientation方法?
答案 0 :(得分:2)
这对于视图控制器来说真的很烦人。而且似乎无法解决自转问题。也许,最好的是从B的shouldAutorotateToInterfaceOrientation返回NO,然后手动执行视图旋转。那么它不会影响A。
答案 1 :(得分:1)
- (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];
}
}
当你导航到A.view时,你可以在main / super UIViewController中调用myAutomaticRotation, 在同一个地方你应该使用:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
}
您可以在其中查看所使用的视图(A,B)并仅为B ...
提供横向模式卢卡