Как я могу узнать, когда жест жеста закончен (UIGestureRecognizer) - PullRequest
8 голосов
/ 18 июля 2010

Я хочу получить обратный вызов, когда мой UIPinchGestureRecognizer завершил жест-пинч. Более того, было бы здорово узнать, был ли готовый жест увеличен или уменьшен.

Кто-нибудь знает метод для использования? Или подход сделать?

Спасибо!

Ответы [ 3 ]

13 голосов
/ 12 августа 2010

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

  -(void)handlePinchGesture:(UIGestureRecognizer*)gestureRecognizer {    
    if(UIGestureRecognizerStateEnded == [gestureRecognizer state]){
      // do something
    }
  }
1 голос
/ 18 июля 2010

Вы можете узнать, было ли это увеличение или уменьшение масштаба при помощи свойства scale UIPinchGestureRecognizer.

Просто переопределите его touchesEnded: метод, чтобы получить обратный вызов (и вызвать другой метод, если хотите).

0 голосов
/ 31 августа 2011

Лучший подход, который не требует создания подклассов, заключается в проверке свойства "state" в экземпляре распознаваемого жеста в обработчике действий. Состояние будет меняться на всех этапах жизненного цикла жеста. Требуемое изменение состояния - UIGestureRecognizerStateEnded. Также рекомендуется проверять UIGestureRecognizerStateCancelled.

...