2011-08-24 17 views
28

Bir görünümüm var. Bunun için musluk hareketlerinin türlerini tanımlamak istiyorum.iphone - tek dokunuşla çifte çakışma çakışmaları

Görünümde tek bir dokunuş varsa, görünüm A yapacaktır; ve eğer bir kullanıcı görünümde iki kez tıklanırsa, B yapmadan önce B yapacaktır.

Görünüme iki UITapGestureRecognizer ekledim. tek musluk, numberOfTapsRequired = 1 ile; ve çift musluk numberOfTapsRequired = 2 ile;

Ayrıca ben Ancak, birbirleriyle çakışabilir bulundu

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

için HAYIR dönmek ayarlayın. Yani, manzaraya iki kez dokunmasam bile, hem A hem de B çağrılır.

Bu sorunu nasıl çözebilirim?

Teşekkür

cevap

64

Sen aşağıdaki kod satırını ekleyerek bu çalışabilirsiniz. Bu, tek dokunuş algılayıcısının yalnızca çift musluk algılayıcısının arızalanması durumunda tetiklenmesini sağlayacaktır:

[singleTapRecognizer requireGestureRecognizerToFail:doubleTapRecognizer]; 
+0

muller, teşekkürler. –

+3

çalışır, ancak bu Tek Dokunuş Tespit için bir Gecikme verir! :( – Mrug

+4

@Mrug: Doğru, ama% 100 emin olmanın tek yolu, tek ve çift bir musluk değil, kullanıcının ikinci kez dokunmadığından emin olana kadar beklemek. –

İlgili konular