ios5旋转屏幕:(以下为关健代码,附件中有实例)
竖屏和横屏是两个不同的ViewController,在实现时需建两个viewController
//屏幕旋转 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{ if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) { //场景跳转方式一 [self performSegueWithIdentifier:@"LandscapeID" sender:self]; //场景跳转方式二(编程方式实现) // UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; // LandscapeViewController *land = [mainStoryboard instantiateViewControllerWithIdentifier:@"myLandscape"]; // land.modalTransitionStyle = UIModalTransitionStyleCoverVertical; // [self presentViewController:land animated:YES completion:nil]; return YES; }else if(toInterfaceOrientation == UIInterfaceOrientationPortrait) { return YES; }else { return NO; } }
//相关旋转方法可以测试下
//旋转方向发生改变时 -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { } //视图旋转动画前一半发生之前自动调用 -(void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { } //视图旋转动画后一半发生之前自动调用 -(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration { } //视图旋转之前自动调用 -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { } //视图旋转完成之后自动调用 -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { } //视图旋转动画前一半发生之后自动调用 -(void)didAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { }