0

[我知道这已经死了,如果不是因为没有足够的 stackoverflow 点来制作一个问题,我会就现有问题提出后续问题:(]

我正在寻找一种强制现有 UI 重新定向而无需破坏主界面ViewControllerView. 我们在全屏模式下工作,所以我假设我不能使用通常引用的任何工具栏方法。最后我只对iOS5感兴趣。

对于 iOS6,我有一个基于如何在 iOS 6 中以编程方式更改设备方向的答案的解决方案。我使用了包含 的解决方案ForcePortrait,并对其进行了更改,因此我可以提供所需的方向作为参数。

对于 iOS5,我尝试了以下建议:

[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];

如何以编程方式设置设备(UI)方向?. 这很好用,但我担心它会被 App Store 拒绝(完全不适合我们)。

有没有人在获得 App Store 批准和/或得到更好建议的东西上使用它?

4

2 回答 2

0

看看这个:强制旋转 UIViewController

也许它会起作用。然而,这非常hackish。

于 2013-08-07T12:20:49.850 回答
0

[无论如何,找到了解决办法。不知道是不是最好的。]

通过添加 shouldAutorotateToInterfaceOrientation 获得临时 UIViewController 方法。iOS5 重载了它的含义,发现它不仅应该自动旋转,而且应该从特定方向开始 - 我想这就是为什么它在 iOS6 被几种方法取代。因此我们在方向返回 true没关系。

或许早该意识到这一点。

不像 setOrientation hack 那样简洁。我们注意到的关键故障是,当您将设备旋转到正确的方向时,您仍然会看到旋转动画。这在 iOS6 上不会发生。哦,好吧,你赢了一些,你输了一些。

于 2013-08-07T13:16:16.937 回答