禁用iOS 7应用程序的横向方向?

时间:2014-01-22 01:34:28

标签: ios landscape-portrait

首次开发人员并且刚刚设置了证书,以便能够在iOS设备上运行我的应用程序。

即使使用Autolayout设置,我的应用程序也无法在横向模式下很好地查看。如何禁止用户在转动设备时以横向方式查看应用程序?即无论设备的方向如何,它总是纵向的?感谢

编辑:Apple是否也建议不要在提交期间这样做?

3 个答案:

答案 0 :(得分:20)

正如Siavash所说,目标中的“常规”选项卡是限制整个设备方向的最佳位置。 Device orientations

如果您想设置所有方向但是限制某些视图控制器,您可以这样做:

- (BOOL) shouldAutorotate
{
    return NO;
}

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return NO;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    if (condition)
    {
        return UIInterfaceOrientationPortrait;
    }else{
        return UIInterfaceOrientationLandscapeLeft;
    }
}

要回答您的第二个问题,Apple并未根据其可能的方向对应用程序进行批评。您可以自行决定哪种方向最适合您的应用。对于iPhone应用程序,用户通常更喜欢肖像(除非是游戏!)。

答案 1 :(得分:8)

最简单的方法是转到项目文件,然后在“部署信息”部分下,检查每台设备的方向。

编辑: 以下是供参考的图片:

image

答案 2 :(得分:1)

执行此操作的最简单方法(无需代码)是进入应用程序的info.plist文件,查找名为“支持的界面方向”的条目(Key =“UISupportedInterfaceOrientations”),单击它的显示三角形以显示支持的方向列表,并删除两个横向方向。

这会阻止整个应用切换到横向。

如果您希望某些视图控制器支持不同的方向,那么supportedInterfaceOrientations方法(iOS 6中的新方法)就是您的选择。使用shouldAutorotateToInterfaceOrientation的另一张海报的代码适用于iOS 5.x及更早版本。