2010-05-02 69 views
1

我正在開發一個多點觸控應用程序。預計一觸即發,我需要跟蹤其位置。對於所有其他的觸動,我需要追蹤他們的開始和結局,但他們的運動並不那麼關鍵。iPhone多點觸控 - 一些觸摸調度touchesBegan:但不touchesMoved:

有時,當3個或更多的觸摸處於活動狀態時,我的UIView不會收到touchesMoved:用於移動觸摸的事件。此問題是間歇性的,可以在幾次嘗試後始終複製:

  • 用2個手指觸摸屏幕。
  • 用另一個手指觸摸屏幕,然後移動此手指。
  • 移動的手指總是分派touchesBegan:和touchesEnded:,但有時不派遣任何touchesMoved:事件。

每當移動觸摸不派遣touchesMoved:事件,我可以強制它派遣touchesMoved:如果我移動其他觸摸之一。這似乎「強制」每一次觸摸來重新檢查其位置,並且我成功地收到了touchesMoved:事件。但是,這很笨拙。

這個bug在iPhone 2G和3GS機型上都是可重現的。

我的問題是:如何確保我的移動觸摸分派touchesMoved:events?

有沒有人有這方面的經驗?我花了好幾天的時間尋找答案。我發現了一篇文章,介紹如何使用VBL同步觸摸事件:http://www.71squared.com/2009/04/maingameloop-changes/。但是,這並沒有解決問題。

我真的不知道如何繼續。任何幫助表示讚賞!

回答

0

這是iPhone OS 3中的一個bug,它已在iOS 4中修復。