首先我选择了Device Orientation portrait,Landscape Left和Landscape Right ...然后假设我正在使用五个ViewControllers现在前三个ViewController和第五个ViewController我只想要Portrait和第四个View Controller我们想要UIInterfaceOrientationMaskAll
所以我是使用此代码...
前三个ViewController和第五个ViewController
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
-(BOOL) shouldAutorotate
{
return YES;
}
用于第四个View Controller
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
-(BOOL) shouldAutorotate
{
return YES;
}
这个问题是当我们在横向(左或右)中旋转第四个视图控制器时,这个旋转成功,但是当我们进入下一个View Controller时,第五个视图控制器不会进入纵向模式。如果我从第四个视图控制器返回到第三个查看控制器它将自动将第三视图控制器旋转到纵向模式,但是当我们从第四视图控制器转到第五视图控制器时,它将不会在纵向模式下转换。解决此问题。
实际上当点击导航栏上的后退按钮然后上面两个方法调用自动但当我们点击右侧导航栏按钮推送下一个视图控制器然后这些方法不自动调用所以我不知道如何使用它。