我正在开发一个用Objective-C编写的App。我有更多屏幕,所有屏幕都是横向左侧和横向右侧方向,这些屏幕不能处于纵向模式。但我有3个不同的屏幕应该只在纵向模式下不能在横向左侧或右侧。
这是所有屏幕的横向模式代码 -
这适用于我的应用程序的纵向模式
这些都是我在View Controllers和In app Plist中所做的,我添加了所需的方向,例如This Info.plist
并且应用设备方向将自动更改。像这样 - 。
我很确定一切都很清楚并且应该按预期工作但由于某些原因当我使用应用程序并锁定自动旋转并运行应用程序时,它会自动在纵向模式下打开,当我解锁自动旋转时它将在横向然后旋转它将旋转到纵向模式。我使用了shouldAutorate返回YES,因为它应该在Landscape Left和Landscape Right之间自动旋转,所以我也使用它,肖像模式屏幕在Portrait中打开但是当用户旋转设备时它会自动旋转。
任何帮助将不胜感激,请分享任何想法为什么我的应用程序没有按预期工作。
以下是解决此问题的步骤:
-(BOOL)shouldAutorotate {
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
-(BOOL)shouldAutorotate {
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
现在尝试锁定第一个视图控制器将在横向上显示的方向,而其他一个将是纵向,无论方向锁定。