如何制作iOS应用程序仅限景观

时间:2013-03-21 16:05:45

标签: ios uiviewcontroller orientation device-orientation

似乎做一件简单的事情吧?转到Target的Summary选项卡,将“Supported Interface Orientations”设置为仅Landscape Right。你会认为这意味着应用程序只是风景。但没有。

例如,在运行5.1的设备上,如果您打开应用程序并将手机保持在正确的横向右侧位置,您将看到视图逆时针旋转90度,就像它认为它应该处于纵向模式一样,除非您添加这样的东西:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

但这只适用于一个视图控制器,谁知道它是否适用于所有操作系统版本。

那么你如何才能制作应用景观呢?我是否必须将该代码添加到应用程序中的每个视图控制器?我不需要任何轮换。我的所有观点都是在Landscape中设计的。我只是希望应用程序在Landscape Right模式下打开并保持这种状态。我想支持iOS 5及更高版本。

3 个答案:

答案 0 :(得分:3)

引入了新的方法,您必须实现它们的旧方法,如下所示

-(BOOL)shouldAutorotate
{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

答案 1 :(得分:0)

在Xcode中,您可以导航到您的项目设置 - >摘要 - > iPhone / iPod部署信息。您可以在此处选择支持的界面方向。您还可以通过在应用程序范围内添加所需的接口方向来编辑应用程序的info.plist中的“支持的接口方向”数组。

答案 2 :(得分:0)

在info.plist中,将方向设置为横向