あなたは尋ねました:
ハンドラーから継承しUISwipeGestureRecognizer
てロジックを追加するジェスチャ認識機能を実装できますか?UIEvent
はい。iOSのイベント処理ガイドの「カスタム ジェスチャ レコグナイザーの作成」を参照してください。WWDC 2010 セッション 121 - Advanced Gesture Recognitionも参照してください。ただし、それはおそらく何をしたいかによって異なります。標準のスワイプ ジェスチャとパラメータを構成することで、目的を達成できるかどうかを確認する必要があります。私は のような連続ジェスチャでさらにサブクラス化を行いましたが、スワイプでもそれを実行できない理由はわかりません。direction
numberOfTouches
UIPanGestureRecognizer
UIGestureRecognizer
にアタッチせずに実装できますUIView
か? つまり、イベントを分析および管理しUIEvent
、適切なセレクター ( touchesBegan
、touchesMoved
、touchesEnded
)を呼び出しtouchesCancelled
ますか?
いいえ。明らかに作成できますが、ビューに追加され、UIView
そのビューがタッチを受け取るまで、イベントを受信しません。
それまでの間、状態が のときにジェスチャ認識機能をリセットする際に問題が発生しましたUIGestureRecognizerStateEnded
。
その問題を解決するには、関連するコード スニペットを提供する新しい質問を送信する必要があります。UIGestureRecognizerStateEnded
一般に、ハンドラが(andUIGestureRecognizerStateCancelled
または)に対して呼び出されたときにジェスチャ後のクリーンアップをUIGestureRecognizerStateFailed
行い、次の を受け取ったときに次のジェスチャのためにすべてを初期化しますUIGestureRecognizerStateBegan
。