我的iPhone应用程序有两种状态:UI和游戏。 仅使用设备倾斜来玩游戏,因此我在游戏开始时关闭自动睡眠:
[[UIApplication sharedApplication].idleTimerDisabled = TRUE;
但是当我返回UI时,我希望自动睡眠再次激活。所以在游戏结束时我恢复它:
[[UIApplication sharedApplication].idleTimerDisabled = FALSE;
经过长时间的游戏,它导致我在游戏后第一个UI屏幕立即变暗。 因此,似乎当空闲计时器被禁用时,它仍在计算时间。它在“启用”后立即被解雇。我该如何解决这个问题?
答案 0 :(得分:2)
我不知道idleTimer
是否可以通过编程方式重置,但一个选项是要求用户在返回之前触摸屏幕。
另一个选项是在您回来后设置自己的超时并在设置idleTimerDisabled = NO
之前等待它完成。如果再次开始游戏,请记得清除此超时。
答案 1 :(得分:1)