1

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

有解决办法吗?将不胜感激。

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

4

3 回答 3

0

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

于 2010-12-23T19:13:15.827 回答
0

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

于 2010-12-23T16:58:06.360 回答
0

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

myview.layer.transform = CATransform3DMakeRotation(M_PI/2, 0.0f, 0.0f, 1.0f);
于 2010-12-23T17:28:52.520 回答