0

我从一个GLSprite示例应用程序(源代码)开始,然后UIViewController通过添加添加

UIViewController *vc = [[UIViewController alloc] init];
vc.view = glView;
self.window.rootViewController = vc;
[window makeKeyAndVisible];

控制器似乎GLSpriteAppDelegate::applicationDidFinishLaunching. 正在工作,因为现在我可以弹出游戏中心窗口,但它弄乱了我的屏幕orientation。该应用程序在 中很好portrait,但在所有其他rotations情况下,它的侧面错误地有白条,就像其中一个视图旋转了 90 度一样。

我正在做[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];EAGLView::initWithCoder然后我尝试将它移到末尾,applicationDidFinishLaunching但它具有相同的行为。

任何人都可以帮忙吗?我能做些什么来修复或调试这个?谢谢!

4

1 回答 1

1

问题是新的 UIViewController 正在旋转,而我的游戏需要一个始终纵向的屏幕。为了解决这个问题,我创建了一个自定义视图控制器并实现了

- (BOOL)shouldAutorotate
{
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return 0;
}
于 2013-05-21T14:44:21.267 回答