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.