2012-04-02 8 views
2

私は押し続けているジェスチャーを持っています。プレスとホールドの間、私は画面上の他の場所でシングルタップを検出したいと思います。問題は、画面のどこかでタップを開始すると、押し続けているジェスチャーが中断され、「タッチアップ」機能が呼び出されないということです。他の場所をタップしながらプレスを保持して保持する方法はありますか?iOSジェスチャーを押し続けてタップ

+0

は "elswhere画面上の" 異なるビューまたは同じビューにということですか?あなたが記述している症状から、いくつか(少なくとも2つ)のUIGesture認識機能を持つUIViewと同じように見えます。あれは正しいですか? –

+0

同じ表示です。そしてあなたは正しいです。複数のジェスチャーがあります。 – user1120008

答えて

2

UIKitには、複数の作業を並行して行うためのいくつかのメカニズムが用意されています。UIGestureRecognizers どちらがどのように正確にあなたのニーズと構成に応じて に依存します。

一つは、あなたのビューでUIGestureRecognizerDelegateプロトコルを採用する必要がありますあなたのケースのために- (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer

があります。

次に、gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:メソッドを実装する必要があります。例えば

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 

はそれのあなたのUIViewdelegategetureRecognizersだ作ることを忘れないでください。

いくつかの参照:

UIGestureRecognizer Class Reference

UIGestureRecognizerDelegate Protocol Reference

Event Handling Guide for iOS

関連する問題