我开始使用GLSprite
示例应用(source code),然后通过添加
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
的末尾,但它具有相同的行为。
有人可以帮忙吗?我该怎么做才能修复或调试这个?谢谢!
答案 0 :(得分:1)
问题是新的UIViewController正在旋转,当我的游戏期望一个永远的纵向屏幕。要修复我创建了一个自定义viewcontroller并实现了
- (BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return 0;
}