我搜索了其他现有帖子,但没有一个满足我的要求 .
这是我面临的问题,
-
我的应用程序支持模式,横向和纵向 .
-
但我的第一个屏幕仅支持横向,因此应用必须从横向开始 .
-
我已将支持的Orientation设置为所有4个选项
-
我已将初始界面方向设置为横向(左主页按钮)
-
在第一个屏幕的视图控制器中,我定义了以下内容
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return(interfaceOrientation!= UIInterfaceOrientationPortrait);
}
当我启动应用程序时,模拟器始终以纵向打开,我的视图在纵向模式下全部搞砸了,因为它仅针对景观设计 . 切换到横向后,设备将保持此模式 .
任何人都可以帮我解决这个问题吗?
谢谢Naveen
编辑:
此信息可能会有所帮助,只有当我在Portrait中按住设备然后启动应用程序时才会遇到问题 .
这不是重复的问题,仅适用于iPhone或iPad的横向模式
Landscape Mode ONLY for iPhone or iPad
我不希望我的应用程序仅在横向,我只希望我的应用程序的第一个屏幕只在横向 .
3 回答
我做了一些试验我正在研究的具有相同要求的应用程序,并提出了以下内容:
要设置首次启动应用时支持的 initial 方向,请使用目标的"Supported Device Orientations"设置 .
并使用适当的shouldAutorotateToInterfaceOrientation代码备份,就像您已经完成的那样 .
对于后续屏幕,只需使用shouldAutorotateToInterfaceOrientation代码来确定要支持的方向 . 即使您仅为支持的设备方向指定了横向模式,shouldAutorotateToInterfaceOrientation也会获胜 . :)
我认为这种方法比使用额外的虚拟VC更清洁 .
我实现了问题的解决方法,它解决了,
我创建了一个虚拟视图控制器并添加为Window的根视图控制器 .
在实现中添加了以下方法
现在它按预期工作了 .
这是一个SO link,希望能够回答有关如何在横向模式下启动应用程序的问题 .