Как обнаружить щелчок двумя пальцами - PullRequest
2 голосов
/ 21 декабря 2009

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

1 Ответ

4 голосов
/ 21 декабря 2009

На самом деле, без написания кода для вас, вот что вам нужно сделать, чтобы отследить пролистывание несколькими пальцами:

  1. Сначала установите для свойства multipleTouchEnabled вашего представления значение YES, чтобы вы могли отслеживать несколько касаний.
  2. В touchesBegan сохраните свойство locationInView каждого касания (это CGPoint).
  3. Определите «окно смахивания», которое ограничивает объем внеосевого движения, которое вы принимаете, и по-прежнему рассматриваете этот жест как движение. Если, например, вы хотите отслеживать горизонтальные полосы, возможно, вы захотите «окно смахивания» 12x6 - то есть, если ваши касания перемещаются по меньшей мере на 12 горизонтальных пикселей при перемещении менее 6 вертикальных пикселей, вы ' Я буду считать это ударом.
  4. В touchesMoved сравните текущее местоположение касаний с сохраненными начальными местоположениями из шага 2. Если они все еще находятся в «окне смахивания», ничего не делайте. Если один или оба пальца вышли за пределы «окна смахивания», отмените проверку смахивания. Если они оба выполнили требования для прокрутки, запустите любой метод, который вы хотите вызвать, когда обнаружите прокрутку несколькими пальцами.
  5. В 'touchesEnded' прекратите отслеживать пролистывание, поскольку, если касания закончились, но вы все еще не применили метод пролистывания из # 4, значит, они не должны были составлять пролистывание.

Надеюсь, это поможет.

...