iOS5:以编程方式强制用户界面定向的最佳方法



[我知道这件事已经做得很累人了,如果不是因为没有足够的堆叠点数,我会对现有问题提出后续问题:(]

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

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

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

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

从如何以编程方式设置设备(UI)方向?。这很有效,但我担心它会被应用商店拒绝(对我们来说完全没有)。

有人在应用商店批准和/或得到更好建议的东西上使用过这个吗?

看看这个:强制旋转UIViewController。

也许它会起作用。然而,这是非常粗鲁的。

[找到了一个解决方案,无论如何。不确定它是否是最好的。]

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

也许我以前应该意识到这一点。

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

相关内容

最新更新