Я разрабатываю мультитач приложение. Ожидается, что одно касание будет двигаться, и мне нужно отслеживать его положение. Для всех остальных касаний мне нужно отслеживать их начало и конец, но их движение менее критично.
Иногда, когда активны 3 или более касаний, мой UIView не получает touchesMoved: события для движущегося касания. Эта проблема временная и всегда может быть воспроизведена после нескольких попыток:
- Коснитесь экрана двумя пальцами.
- Коснитесь экрана другим пальцем и переместите этот палец.
- Движущийся палец всегда отправляет touchesBegan: и touchesEnded:, но иногда не отправляет никаких касанийMoved: events.
Всякий раз, когда движущееся прикосновение не отправляет касанияMoved: события, я могу заставить его отправлять касанияMoved: если я перемещу одно из других касаний. Кажется, это «заставляет» каждое прикосновение перепроверять свою позицию, и я успешно получаю событие touchesMoved :. Тем не менее, это неуклюже.
Эта ошибка воспроизводима на моделях iPhone 2G и 3GS.
У меня такой вопрос: как мне убедиться, что мои движущиеся касания отправляют касанияMoved: события?
У кого-нибудь есть опыт решения этой проблемы? Я провел несколько дней в поисках ответов. Я нашел пост, описывающий, как синхронизировать сенсорные события с VBL: http://www.71squared.com/2009/04/maingameloop-changes/. Однако это не решило проблему.
Я действительно не знаю, как поступить. Любая помощь приветствуется!