将纵向旋转到我的视图控制器的横向和纵向模式

时间:2011-01-27 17:27:48

标签: iphone xcode interface-orientation

通常我的应用程序会以纵向模式显示所有视图,但报表视图除外。报告视图仅在我处于设置视图时显示,并且我将设备旋转为横向模式。现在,当我再次将设备旋转到纵向模式时,将关闭报告视图并显示设置视图。

In report view 

> shouldAutorotateToInterfaceOrientation

return ((interfaceOrientation == UIInterfaceOrientationLandscapeRight)||( interfaceOrientation == UIInterfaceOrientationLandscapeLeft));



Here at settings view 

    shouldAutorotateToInterfaceOrientation


    if((interfaceOrientation == UIInterfaceOrientationLandscapeRight)||( interfaceOrientation == UIInterfaceOrientationLandscapeLeft))
     {  

     Report *report = [[Report alloc]initWithNibName:@"Report" bundle:[NSBundle mainBundle]]; 
     [self.navigationController pushViewController:report animated:YES];
     [report release];

     }
     return YES;
     }

1 个答案:

答案 0 :(得分:1)

不要在shouldRotate ...中创建viewcontroller,而是在willRotateToInterfaceOrientation:duration:中创建你应该响应旋转的地方。在shouldAutorotateToInterfaceOrientation:中,只要您希望能够旋转到该方向,只需返回YES - 在您的情况下,看起来您想要所有方向,或者除了PortraitUpsideDown之外的所有方向。

willRotateToInterfaceOrientation:duration:中,您可以推送视图控制器或根据需要弹出它。