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