问题是,每次我进入我的应用程序并在滚动视图中滚动时,程序中的其他所有内容都完全没用,直到我停止滚动,加速度计,更不用说其他所有内容都不会做任何事情,如果有人有的话知道如何解决上述问题,我非常感激,是的,我会的。我尝试以各种方式将它们放在不同的线程上,但这不值得。我不知道也许我做错了。无论如何,任何帮助将不胜感激。
问问题
256 次
1 回答
1
这听起来像是您的主要应用程序逻辑的其余部分运行在与 UIScrollView 触摸处理不同的运行循环模式(可能是 NSRunLoopCommonModes)中。如果您使用任何计时器来控制您的逻辑,这些计时器将一直阻塞,直到 UI 跟踪完成。
这解决了我在用户操作滚动视图时没有更新任何游戏逻辑的问题。我的修复就像在设置计时器时添加以下行一样简单:
[[NSRunLoop currentRunLoop] addTimer:myTimer forMode:UITrackingRunLoopMode];
有关更多信息,请参阅此线程:NSTimer not fire when runloop is blocked。
于 2010-06-15T17:43:00.723 回答