UiViewController轮换问题

时间:2010-12-23 16:47:31

标签: iphone uiviewcontroller rotation landscape portrait

我的应用程序中的主菜单仅支持横向模式。 我通过设置UIRootViewController::shouldAutorotateToInterfaceOrientation:...来实施景观限制 我有另一个支持肖像模式的场景。 因此,当我以纵向模式从另一个场景传递到主菜单时出现问题:应用程序不会自动旋转到横向,我找不到手动旋转它的代码方法。

有解决方案吗?会很感激。

编辑:对不起,我忘了添加细节。 RootViewController对于菜单和另一个场景很常见。更重要的是 - 这些场景在一个共同的视图中(我的应用程序使用OpenGL) 所以在我从肖像场景进入菜单之前,我设置UIRootViewController::shouldAutorotateToInterfaceOrientation:以仅为横向返回YES。

3 个答案:

答案 0 :(得分:0)

没有简单的方法可以做到这一点,除了[UIDevice setOrientation:],这对开发人员不开放,并导致Apple拒绝应用程序。

答案 1 :(得分:0)

您可以对图层应用旋转,这将产生完全相同的效果。

myview.layer.transform = CATransform3DMakeRotation(M_PI/2, 0.0f, 0.0f, 1.0f);

答案 2 :(得分:0)

如果您的其他具有肖像支持的场景由另一个UIViewController控制,那么您可以使用该视图控制器的-shouldAutorotateToInterfaceOrientation:来定义其行为。在许多情况下,仅此一点就足够了。当然,如果你需要为一些视图控制器进行一些花哨的旋转而不是为其他视图控制器,那么事情会变得有点棘手。