提出一个新的viewController似乎并没有卸载以前的

时间:2014-11-27 13:56:44

标签: ios objective-c uiviewcontroller

我正在开发的游戏包括主菜单和游戏viewController。

然而,当从游戏屏幕移动到菜单屏幕时,好像以前的viewController中的类文件仍然有效?

例如,玩家通过在游戏viewController中点击屏幕上的任何位置来启动游戏,这会导致新的条形图被启动"这反过来会播放一个小的音调,这取决于方向。然而,当游戏结束后返回主菜单(通过按下按钮来显示菜单viewController),点击菜单屏幕上的任何地方似乎再次从游戏viewController开始游戏?

通过这个,我的意思是发挥了酒吧发射声音,尽管主菜单viewController中没有可用的代码来播放所述声音,按菜单上的播放将带您进入游戏屏幕,游戏已重置,直到再次点击,声音播放暗示一个新的酒吧被启动,尽管所有图像都是看不见的。

我确保在离开任何视图时,我会从视图中擦除所有子视图,这样无论何时加载屏幕,都不会被覆盖。我也尝试解除以前的视图控制器,但似乎没有任何效果。所以,我无法确定这些观点是否被删除或是什么......它只是让我心烦意乱。

不幸的是,我的描述很可能并没有使自己成为一个正义,所以希望这个视频演示会有所帮助。请注意,在开始时,我点击屏幕以显示没有播放声音,但当然不会显示。

编辑:您会注意到,当返回菜单时,尽管gameBarMovement计时器在从游戏移动到菜单时无效,但点击屏幕似乎会弄乱后台的移动栏。他们使用单独的类文件的事实也应该意味着不应该影响条形码?了解我,我错过了一些相当明显的事情。

1 个答案:

答案 0 :(得分:0)

就我所知,这就是UIViewController生命周期的工作方式。在应用程序开始内存不足之前,UIView控制器不会被卸载。在你的游戏VC中你可能需要的是一些方法来阻止游戏循环运行并在新游戏开始后恢复它。