通常我的应用程序会以纵向模式显示所有视图,但报表视图除外。报告视图仅在我处于设置视图时显示,并且我将设备旋转为横向模式。现在,当我再次将设备旋转到纵向模式时,将关闭报告视图并显示设置视图。
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;
}
答案 0 :(得分:1)
不要在shouldRotate ...中创建viewcontroller,而是在willRotateToInterfaceOrientation:duration:
中创建你应该响应旋转的地方。在shouldAutorotateToInterfaceOrientation:
中,只要您希望能够旋转到该方向,只需返回YES - 在您的情况下,看起来您想要所有方向,或者除了PortraitUpsideDown之外的所有方向。
在willRotateToInterfaceOrientation:duration:
中,您可以推送视图控制器或根据需要弹出它。