IOS设置方向不起作用

时间:2012-10-31 18:47:33

标签: iphone ios xcode landscape portrait

正如标题所描述的那样,我的app atm中的方向存在很大问题。在不同的幻灯片中,我似乎无法控制方向。以下内容我尝试过,在我的应用程序中工作/不起作用:

  • Xcode拒绝在任何幻灯片中听取shouldAutorotateToInterfaceOrientation方法中给出的任何代码。

  • Xcode拒绝听取每张幻灯片在stoaryboad中给出的任何设置。

  • Xcode会侦听info-plist文件,但是从此文件中您只能为应用中的所有视图/幻灯片设置方向。我想要一些幻灯片只允许横向模式和其他纵向模式。

我试图在我的应用程序中删除所有UINavigationBars / Tabbars并且实际上只使用1个单一ViewController作为初始ViewController并且问题仍然存在,只能管理来自info-plist文件的方向。基本上,应用程序可以收听除调整方向设置的info-plist文件以外的任何内容吗?

我已经尽力了解这个问题,但我不能说我已经获得了更大的“aha时刻”到目前为止,因为苹果提供调整设置的所有可能方式根本无法在我的应用程序中工作,非常棒的苹果! ......我们之前有没有其他人经历过这个问题或之前听说过这个问题?

1 个答案:

答案 0 :(得分:2)

iOS 6中不推荐使用

- (BOOL)shouldAutorotateToInterfaceOrientation:

您应该覆盖UIViewController子类的- (NSUInteger)supportedInterfaceOrientations方法。

示例:

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft;
}

修改

如果您正在使用UINavigationController,则必须对其进行子类化,并实现上述逻辑。这是预期的功能。相关的StackOverflow Q / A:

iOS 6 bug: supportedInterfaceOrientations not called when nav controller used as window root

iOS 6 rotations: supportedInterfaceOrientations doesn´t work?

Set different supportedInterfaceOrientations for different UIViewControllers