iPhone多点触控 - 一些接触发送触摸开始:但不是touchesMoved:

时间:2010-05-02 06:55:53

标签: iphone objective-c ios multi-touch touchesmoved

我正在开发一个多点触控应用程序。预计一触即可,我需要跟踪其位置。对于所有其他接触,我需要跟踪它们的开始和结束,但它们的移动不太重要。

有时,当3个或更多触摸处于活动状态时,我的UIView不会接收touchesMoved:移动触摸的事件。这个问题是间歇性的,并且可以在几次尝试后重现:

  • 用两根手指触摸屏幕。
  • 用另一根手指触摸屏幕,并用手指移动。
  • 移动的手指总是调度touchesBegan:和touchesEnded:,但有时不会调度任何touchesMoved:events。

每当移动触摸不调度touchesMoved:events时,我可以强制它调度touchesMoved:如果我移动其中一个其他触摸。这似乎“强迫”每次触摸重新检查其位置,我成功收到touchesMoved:事件。但是,这很笨拙。

此错误在iPhone 2G和3GS型号上都可以重现。

我的问题是:我如何确保我的移动触摸发送touchesMoved:events?

有没有人对此问题有任何经验?我花了几天时间寻找答案。我发现了一篇描述如何使用VBL同步触摸事件的帖子:http://www.71squared.com/2009/04/maingameloop-changes/。但是,这还没有解决问题。

我真的不知道该怎么办。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

这是iPhone OS 3中的一个错误,已在iOS 4中修复。