Вы можете попробовать основанный на NetBeans OcamlIDE .
У меня есть пример кода сенсорного экрана:
http://github.com/kailoa/6tringle-touchsamplecode/tree/master http://6tringle.com /blog/2009/TouchSampleCode.html
Это было полезно для некоторых людей, и я думаю, что может вам помочь.
Взгляните на NSMutableArray * ActiveTouches
. Это коллекция, которую я использую, чтобы отслеживать порядок, в котором происходят касания.
В этой кодовой базе есть пример сжатия и растяжения, использующего этот массив.
Взгляните на эти ответы, которые я дал, которые могут помочь:
Каждый палец получает один объект UITouch, а тот же объект выдается вам снова и снова. Просто запомните указатели на набор начальных объектов UITouch и выполните сравнение указателей, чтобы отслеживать пальцы.
Из справочной документации Apple:
Сенсорный объект является постоянным для данного пальца во время последовательности, а UIKit изменяет его поскольку он проводит пальцем по нему. Атрибуты касания, которые изменяются, - это фаза касания, его положение в представлении, его предыдущее местоположение и его временная метка. Код обработки событий оценивает эти атрибуты, чтобы определить, как реагировать на событие.
Часто обсуждаемое решение - наблюдать за событиями и сравнивать текущие значения x и y и предыдущие значения x и y, чтобы сопоставить их. Хотя, похоже, есть некоторые уловки. События могут происходить не по порядку, и я видел случаи, когда казалось, что оборудование или ОС путались с большим количеством (10) движущихся пальцев.
Некоторые люди указали, что события касания используются повторно, и вы можете используйте этот факт, чтобы отслеживать, какой палец какой. Я полагаю, это как минимум один раз освещалось в StackOverflow.
Я взглянул на код Кайлоа Кадано. Вы в основном храните NSMutableArray текущих объектов UITouch. Однако в документации UITouch указано следующее:
Объект UITouch является постоянным. на протяжении всего мультитач-последовательности. Вы никогда не должен сохранять объект UITouch при обработке события. Если вам нужно хранить информацию о прикосновении от от одной фазы к другой, вы должны скопировать that information from the UITouch object.
I don't quite see the reason for not retaining it if you release it again when the event finished but that's what the SDK doc says.
Я искал ту же информацию. И да, похоже, вы не собираетесь сохранять данные UITouch. Согласно разделу «Обработка сложной последовательности мультисенсорного ввода» этой Документации разработчика Apple , «правильный» способ отслеживать множественные касания - это значение указателя события UITouch.