В UIPinchGestureRecognizer получить количество фингюр, задействованных при запуске жеста? - PullRequest
1 голос
/ 11 мая 2011

В UIPinchGestureRecognizer как получить количество фингюр, задействованных при запуске жеста?

Ответы [ 3 ]

3 голосов
/ 11 мая 2011

Из ссылки на класс UIPinchGestureRecognizer:

UIPinchGestureRecognizer - это бетон подкласс UIGestureRecognizer, который ищет сжимающие жесты, включающие два прикосновения

Два касания.

Обновление

@ omz говорит о numberOfTouches методе, унаследованном от UIGestureRecognizer. В UIPinchGesstureRecognizer всегда возвращаются 2 или 1 (когда пользователь заканчивает жест и убирает палец с экрана).

Обновление 2

Этот жест всегда вызывает двумя пальцами, как сказано в документации.

0 голосов
/ 11 мая 2011

Вы можете использовать метод -numberOfTouches (объявлен в UIGestureRecognizer, который является суперклассом).

0 голосов
/ 11 мая 2011

проверить эти документы Apple !

И я процитирую из этого:

Для обработки событий мультитач, вы должны сначала создать подкласскласс респондента.Этот подкласс может быть любым из следующих:

  • Пользовательское представление (подкласс UIView)
  • Подкласс UIViewController или один из его подклассов UIKit
  • Aподкласс представления или класса управления UIKit, такого как UIImageView или UISlider
  • подкласс UIApplication или UIWindow (хотя это было бы редко)
  • Контроллер представления обычно получает через цепочку респондентасобытия касания, первоначально отправленные его представлению, если это представление не переопределяет методы обработки касания.

Чтобы экземпляры вашего подкласса получали события мультитача, ваш подкласс должен реализовать один или несколько методов UIResponder дляобработка событий касания, описанная ниже.Кроме того, представление должно быть видимым (ни прозрачным, ни скрытым), а его свойство userInteractionEnabled должно иметь значение YES (по умолчанию).

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

Методы обработки событий Во время мультитач последовательности приложение отправляетсерия сообщений о событиях для целевого респондента.Чтобы получать и обрабатывать эти сообщения, класс объекта-респондента должен реализовывать как минимум один из следующих методов, объявленных UIResponder, и, в некоторых случаях, все эти методы:

  • (void) touchesBegan: (NSSet *) касается события EventEvent: (UIEvent *);
  • (void) touchesMoved: (NSSet *) касается события withEvent: (UIEvent *);
  • (void) touchesEnded :(NSSet *) касается события EventEvent: (UIEvent *);
  • (void) touchesCancelled: (NSSet *) касается события EventEvent: (UIEvent *)

Приложение отправляет эти сообщения, когдаесть новые или измененные касания для данной фазы касания:

  • Отправляет сообщение touchesBegan: withEvent: когда один или несколько пальцев касаются экрана.
  • Отправляет сообщение touchesMoved: withEvent: при движении одного или нескольких пальцев.
  • Отправляет сообщение touchesEnded: withEvent: когда один или несколько пальцев поднимаются с экрана.
  • Отправляет сообщение touchesCancelled: withEvent:, когда последовательность касаний отменяется системным событием,такой как входящий телефонный звонок.

Каждый из этих методов связан с фазой касания;например, touchesBegan: withEvent: связан с UITouchPhaseBegan.Вы можете получить фазу любого объекта UITouch, оценив его свойство фазы.

Каждое сообщение, которое вызывает метод обработки события, передается в двух параметрах.Первый - это набор объектов UITouch, которые представляют новые или измененные касания для данной фазы.Второй параметр - это объект UIEvent, представляющий это конкретное событие.Из объекта события вы можете получить все сенсорные объекты для события или подмножество этих сенсорных объектов, отфильтрованных для определенных видов или окон.Некоторые из этих объектов касания представляют касания, которые не изменились со времени предыдущего сообщения о событии или изменились, но находятся в разных фазах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...