ios5旋转银屏

ios5旋转屏幕

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;
    }
}

 

//相关旋转方法可以测试下

  1. //旋转方向发生改变时
  2. -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {  


  3. //视图旋转动画前一半发生之前自动调用  
  4. -(void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {  


  5. //视图旋转动画后一半发生之前自动调用  
  6. -(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration {  


  7. //视图旋转之前自动调用  
  8. -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {  


  9. //视图旋转完成之后自动调用  
  10. -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {  


  11. //视图旋转动画前一半发生之后自动调用 
  12. -(void)didAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {

  13. }