アプリケーションの単純なスワイプ動作をデバッグするのに完全に困惑しました。左方向にスワイプすると、touchesEnded メッセージ メソッドの呼び出しが正しく行われます。
しかし、反対方向にドラッグすると、touchesEnded は呼び出されません。
これがなぜなのか、誰にも手がかりがありますか?viewController クラスのビューとして TapDetectingView を使用しています。IB のこのビューでは、ユーザーの誘導と複数のタッチの両方が有効になっています。
アプリケーションの単純なスワイプ動作をデバッグするのに完全に困惑しました。左方向にスワイプすると、touchesEnded メッセージ メソッドの呼び出しが正しく行われます。
しかし、反対方向にドラッグすると、touchesEnded は呼び出されません。
これがなぜなのか、誰にも手がかりがありますか?viewController クラスのビューとして TapDetectingView を使用しています。IB のこのビューでは、ユーザーの誘導と複数のタッチの両方が有効になっています。
単一のビューで GestureRecognizers と touchesEnded を使用すると、いくつかの問題も発生しました。私の問題は、GestureRecognizers のみを使用しているときに、スワイプまたはタッチを検出できることでした。私がやったことは、 SwipeGestureRecognizers を使用してスワイプを検出し、タップの touchesEnded メソッドを使用することでした。同じビューで TapGestureRecognizers と SwipeGestureRecognizers を使用しても機能しませんでした。
touchesEnded
スワイプジェスチャでキャプチャしようとしている場合は、を確認してみてくださいtouchesCancelled
。スワイプエンドをで処理し、そのメソッド内からtouchesCancelled
呼び出します。touchesEnded
何らかの理由touchesEnded
で、シングルタップと長押しでのみ呼び出され、スワイプでは呼び出されません。良い点は、加速度を計算するために使用するタイムスタンプと座標を取得することです。