私は、ほとんどのタッチ ジェスチャがパン ジェスチャになるアプリに取り組んでいます (ただし、パン ジェスチャ認識機能は使用していません)。、、、UIGestureRecognizerDelegate
および を使用しています。ただし、画面上にいくつかのスポットがあり、そこでパンが開始された場合、代わりにタップ イベントとして認識したいと考えています。touchesBegan で位置を認識するだけでこれを行うことができます。私の質問は、パンの継続を防ぐために、その時点でタッチの割り当てを解除できますか? 画面内のこの位置からパンが開始された場合、ユーザーが実際にパンとして意図したものではないことが保証されます。これが理にかなっていることを願っています。touchesBegan
touchesMoved
touchesEnded
touchesCancelled
編集:無視すべきポイントであっても、タップを管理する余分なオーバーヘッドは取るに足らないものであることに気付いたので、それを行うだけだと思います。ただし、ジェスチャーが追跡され続けるのを止める方法がある場合に備えて、ここで質問を続けます。
また、次の状況を処理する方法についての提案も必要です。
ユーザーが (先ほど説明した領域ではなく、実際にパンを意図した場所で) パンを開始し、パンの進行中に別のパンが画面上の別の場所で開始されたとします。この状況をどのように認識しますか?
編集:私は今、このコードがこの問題を解決するかどうかをテストしています:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
編集:ARCは明示的なdeallocを禁止しているため、質問をより一般的なものに修正し、もしあれば、それ以上のアクションを抑制するために何ができるか. それとも、私はそれに対処する必要がありますか?