タップジェスチャ認識エンジンを使用して開始したプロジェクトがあります。タップ ジェスチャ認識エンジンを十分に制御できないことに気付いたので、viewcontroller を として使用してコーディングを開始しましたUIGestureRecognizerDelegate
。正しい軌道に乗っていることを確認するために、、、、のメソッドを追加touchesBegan
しtouchesMoved
ましtouchesEnded
たtouchesCancelled
。呼び出し以外のメソッドは空なNSLog
ので、さまざまなことを試してみると、何が起動されているかがわかります。
touchesCancelled への呼び出しが大量にあったことを除いて、物事は期待どおりに機能しました。これは、私がまだ持っているタップジェスチャ認識機能によるものだと思います。タップ ジェスチャ レコグナイザを削除する準備ができていないので、使用したジェスチャが実際にタップである場合にどうなるかを確認したかっただけです。
ドキュメントには次のように記載されています。
このメソッドは、Cocoa Touch フレームワークがタッチ イベントのキャンセルを必要とするシステム割り込みを受信したときに呼び出されます。
UITouch
このため、フェーズが のオブジェクトを 生成しますUITouchPhaseCancel
。中断により、アプリケーションがアクティブでなくなったり、ビューがウィンドウから削除されたりする可能性があります。オブジェクトがtouchesCancelled:withEvent:
メッセージを受信すると、実装で確立された状態情報をクリーンアップする必要がありtouchesBegan:withEvent:
ます。
しかし、今概説した私のシナリオも同様にあり得ると思います。私は正しいですか?