मैं 2 जोड़ने की कोशिश कर रहा हूं UITapGestureRecognizers
एक दृश्य में , एक सिंगल टैप के लिए और एक डबल टैप इवेंट के लिए। एकल टैप पहचानकर्ता अपेक्षित (अपने दम पर) के रूप में काम कर रहा है। लेकिन मुझे लगता है कि डबल टैप पहचानकर्ता काम करने में सक्षम नहीं है।
जैसे गुणों के साथ प्रयोग करने के लिए करने की कोशिश की: cancelsTouchesInView
, delaysTouchesBegan
और delaysTouchesEnded
, लेकिन अभी भी काम नहीं करता है।
जब मैं डबल टैप करता हूं, तो सिंगल टैप पहचानकर्ता हमेशा सक्रिय हो जाएगा और डबल टैप इवेंट को सुपर व्यू में भी भेजा जाएगा। लेकिन कस्टम डबल टैप पहचानकर्ता को बिल्कुल भी सूचित नहीं किया जाता है।
दस्तावेज़ों से प्रतीत होता है कि उपर्युक्त 3 गुणों का उपयोग इस उद्देश्य के लिए किया जा सकता है। लेकिन मुझे यकीन नहीं है कि किन मूल्यों को निर्धारित किया जाना चाहिए और किस पर पहचानकर्ता (ओं), (एकल, डबल या दोनों)। आशा है कि इससे परिचित कोई व्यक्ति मदद कर सकता है।
निम्नलिखित नवीनतम अद्यतन कोड ब्लॉक है।
// ****** gesture recognizers ******
- (void)addSingleAndDoubleTapGestureRecognizersToView:(UIView *)view
{
// single tap
UITapGestureRecognizer *singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector(handleSingleTapOnView:)];
[singleTapRecognizer setNumberOfTouchesRequired:1];
[view addGestureRecognizer: singleTapRecognizer];
// double tap
UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector (handleDoubleTapOnView:)];
[doubleTapRecognizer setNumberOfTouchesRequired:2];
[singleTapRecognizer requireGestureRecognizerToFail: doubleTapRecognizer];
[view addGestureRecognizer: doubleTapRecognizer];
}
- (void)handleSingleTapOnView:(id)sender
{
}
- (void)handleDoubleTapOnView:(id)sender
{
}