2012-04-17 10 views
6
पर

में मैं अपने UIViewController में जोड़ना चाहते हैं:दो UITapGestureRecognizer UIView

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)]; 
tapGesture.numberOfTapsRequired = 2; 
[self.view addGestureRecognizer:tapGesture]; 
[tapGesture release]; 

UITapGestureRecognizer *tapGesture2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture2:)]; 
tapGesture2.numberOfTapsRequired = 1; 
[self.view addGestureRecognizer:tapGesture2]; 
[tapGesture2 release]; 

समस्या है, तो उपयोगकर्ता नल दो बार दो तरीकों कहा जाता है है, और मैं यह है कि उपयोगकर्ता अगर बनाने डबल टैप केवल पहले चाहते हैं (handleTapGesture) कहा जाएगा और अगर वह एक टैप कर यह केवल दूसरा एक (handleTapGesture2)

उत्तर

10

उपयोग यह एक .. मदद के लिए

UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture)]; 
tapGesture.numberOfTapsRequired = 2; 
[self.view addGestureRecognizer:tapGesture]; 
[tapGesture release]; 

UITapGestureRecognizer *tapGesture2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture2)]; 
tapGesture2.numberOfTapsRequired = 1; 

[tapGesture2 requireGestureRecognizerToFail: tapGesture]; 

[self.view addGestureRecognizer:tapGesture2]; 
[tapGesture2 release]; 
+0

THX, मैं एक और समस्या मैं UIViewController पर बटन है और जब मैं अपने कोड का उपयोग बटन बजाय बटन विधि, किसी भी विचार क्यों करने के लिए इस विधि कॉल करता है ? – MTA

+0

उपयोग इस प्रतिनिधि - (bool) gestureRecognizer: (UITapGestureRecognizer *) gestureRecognizer shouldReceiveTouch: (UITouch *) स्पर्श { \t अगर ((touch.view == YourButton)) { वापसी नहीं; } वापस यस; } – userar

+0

क्या आपने यह कोड देखा था ?? – userar

1

आप इस विधि का requireGestureRecognizerToFail:viewcontroller.m इस में प्रयोग किया जाता है आपकी समस्या का समाधान होगा में here पर कोड मैं तैनात उपयोग कर सकते हैं कॉल करेंगे