首次开发人员并且刚刚设置了证书,以便能够在iOS设备上运行我的应用程序。
即使使用Autolayout设置,我的应用程序也无法在横向模式下很好地查看。如何禁止用户在转动设备时以横向方式查看应用程序?即无论设备的方向如何,它总是纵向的?感谢
编辑:Apple是否也建议不要在提交期间这样做?答案 0 :(得分:20)
正如Siavash所说,目标中的“常规”选项卡是限制整个设备方向的最佳位置。
如果您想设置所有方向但是限制某些视图控制器,您可以这样做:
- (BOOL) shouldAutorotate
{
return NO;
}
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return NO;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
if (condition)
{
return UIInterfaceOrientationPortrait;
}else{
return UIInterfaceOrientationLandscapeLeft;
}
}
要回答您的第二个问题,Apple并未根据其可能的方向对应用程序进行批评。您可以自行决定哪种方向最适合您的应用。对于iPhone应用程序,用户通常更喜欢肖像(除非是游戏!)。
答案 1 :(得分:8)
最简单的方法是转到项目文件,然后在“部署信息”部分下,检查每台设备的方向。
编辑: 以下是供参考的图片:
答案 2 :(得分:1)
执行此操作的最简单方法(无需代码)是进入应用程序的info.plist文件,查找名为“支持的界面方向”的条目(Key =“UISupportedInterfaceOrientations”),单击它的显示三角形以显示支持的方向列表,并删除两个横向方向。
这会阻止整个应用切换到横向。
如果您希望某些视图控制器支持不同的方向,那么supportedInterfaceOrientations方法(iOS 6中的新方法)就是您的选择。使用shouldAutorotateToInterfaceOrientation的另一张海报的代码适用于iOS 5.x及更早版本。