iPhone мультитач - некоторые штрихи, диспетчерские касания начались: но не касаются

Я разрабатываю мультитач приложение. Ожидается, что одно касание будет двигаться, и мне нужно отслеживать его положение. Для всех остальных касаний мне нужно отслеживать их начало и конец, но их движение менее критично.

Иногда, когда активны 3 или более касаний, мой UIView не получает touchesMoved: события для движущегося касания. Эта проблема временная и всегда может быть воспроизведена после нескольких попыток:

  • Коснитесь экрана двумя пальцами.
  • Коснитесь экрана другим пальцем и переместите этот палец.
  • Движущийся палец всегда отправляет события touchesBegan: и touchesEnded:, но иногда не отправляет события touch.Moved:.

Всякий раз, когда движущееся касание не отправляет события touchesMoved: я могу заставить его отправлять касания Moveded: если я перемещаю одно из других касаний. Кажется, это "заставляет" каждое прикосновение перепроверять свою позицию, и я успешно получаю событие touchesMoved:. Однако это неуклюже.

Эта ошибка воспроизводима на моделях iPhone 2G и 3GS.

У меня вопрос: как я могу убедиться, что мои движущиеся касания отправляют касания Moved: события?

У кого-нибудь есть опыт решения этой проблемы? Я провел несколько дней в поисках ответов. Я нашел пост, описывающий, как синхронизировать сенсорные события с VBL: http://www.71squared.com/2009/04/maingameloop-changes/. Однако это не решило проблему.

Я действительно не знаю, как поступить. Любая помощь приветствуется!

1 ответ

Решение

Это была ошибка в iPhone OS 3, она была исправлена ​​в iOS 4.

Другие вопросы по тегам