我正在为 iphone 写一个小音乐游戏。我快完成了,这是唯一让我无法推出它的问题。非常感谢任何解决此问题的帮助。
这就是我所做的:在我的 appDelegate 中,我将菜单视图屏幕添加到窗口中。menu-view-screen 充当容器并控制将哪个视图呈现给用户。
意味着,在菜单视图屏幕上,我有 4 个按钮(新游戏、选项、常见问题解答、高分)。当用户单击按钮时,会发生这种情况:
if (self.gameViewController == nil)
{
GameViewController *viewController = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil];
self.gameViewController = viewController;
[viewController release];
}
[self.view addSubview:self.gameViewController.view];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleSwitchViewNotificationFromGameView:) name:@"SwitchView" object:gameViewController];
当用户返回菜单时,这段代码被执行:
[[NSNotificationCenter defaultCenter] removeObserver:self];
[self.gameViewController viewWillDisappear:YES];
[self.gameViewController.view removeFromSuperview];
这适用于所有屏幕,但不适用于游戏屏幕(这是唯一具有大量用户交互的屏幕)意味着 iphone 的响应能力(播放音调时)变得非常慢。当我第一次显示游戏视图时,性能很好。一旦我再次将它添加到菜单视图容器子视图(addsubview)(基本上打开一个新游戏)它开始变慢任何想法是什么导致(或解决)这个?
非常感谢
最好的问候汤姆