1

正如标题所描述的,我的应用 atm 中的方向存在很大问题。似乎我根本无法控制不同幻灯片中的方向。我尝试过以下事情并且在我的应用程序中有效/无效:

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

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

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

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

我已经尽力理解这个问题,但我不能说我已经获得了更大的“啊哈时刻”,因为苹果提供的所有可能的调整设置的方法至少在我的应用程序中根本不起作用,伟大的苹果!....我们有没有其他人以前经历过这个问题或以前听说过这个问题?

4

1 回答 1

2

- (BOOL)shouldAutorotateToInterfaceOrientation:在 iOS 6 中已弃用。

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

例子:

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

编辑:

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

iOS 6 错误:当导航控制器用作窗口根时未调用supportedInterfaceOrientations

iOS 6 旋转:supportedInterfaceOrientations 不起作用?

为不同的UIViewControllers设置不同的supportedInterfaceOrientations

于 2012-10-31T19:34:02.110 回答