以下是我要做的事情:
首先,在您的文件顶部,在#imports下面放置此定义:
#define degreesToRadian(x) (M_PI * (x) / 180.0)
然后,在viewWillAppear:方法中。
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
if (self.interfaceOrientation == UIInterfaceOrientationPortrait) {
self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
self.view.bounds = CGRectMake(0.0, 0.0, 480, 320);
}
如果您想要动画效果,那么可以将整个内容包装在动画块中,如下所示:
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.25];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];
if (self.interfaceOrientation == UIInterfaceOrientationPortrait) {
self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
self.view.bounds = CGRectMake(0.0, 0.0, 480, 320);
}
[UIView commitAnimations];
接下来,在您的纵向模式控制器中,您可以进行反向操作——检查当前是否处于横向模式,如果是,则将其旋转回纵向模式。