कहें कि मैं वर्तमान में एक ड्रैग इशारा ट्रैक कर रहा हूं। मेरे इवेंट हैंडलर में मैं यह निर्धारित करने के लिए थ्रेसहोल्ड का उपयोग करता हूं कि ड्रैग एक क्रिया में कब होता है। जब दहलीज पार हो जाती है, तो मैं यह इंगित करना चाहता हूं कि ड्रैग इशारा पूरा हो गया है।मैं UIGestureRecognizer को प्रोग्रामेटिक रूप से समाप्त/रीसेट कैसे करूं?
आप को यह संपत्ति नहीं है, जबकि एक इशारा पहचानकर्ता वर्तमान में एक इशारा पहचानना है बदलते हैं, तो को इशारा पहचानकर्ता संक्रमण एक रद्द किया गया:
केवल एक चीज मैं डॉक्स में पा सकते हैं इस लाइन here है राज्य।
तो:
if (translation.y > 100) {
// do action
[self doAction];
//end recognizer
sender.enabled = NO;
sender.enabled = YES;
}
यह काम करता है लेकिन ऐसा लगता है वहाँ एक neater तरीका हो सकता है।
क्या किसी को संकेत देने के लिए किसी अन्य तरीके से पता है कि एक इशारा प्रोग्रामेटिक रूप से समाप्त हो गया है? मैं -end:
विधि की तरह कुछ उम्मीद करूंगा जो राज्य UIGestureRecognizerStateEnded
के साथ अंतिम घटना उत्पन्न करता है।
आप वर्णन कर सकते कि तुम क्या खींचें भाव के साथ कर रहे हैं? क्या आप वास्तव में कुछ खींच रहे हैं? –
हाय फ़ैबियो, हां, मैं क्षैतिज-ड्रैगिंग एक आभासी पुस्तक का एक पृष्ठ कहता हूं, जब थ्रेसहोल्ड पास हो जाता है, तो मैं एनीमेशन को एक पृष्ठ को फ़्लिप करने के लिए शुरू करता हूं और फिर समय-समय पर ड्रैग जेस्चर को समाप्त करना चाहता हूं ताकि राज्य UIGestureRecognizerStateEnded वाला कोई ईवेंट हो जेनरेट, इस इशारे के नियमित अंत से जुड़े सभी कार्यों को संभालने। – Mattijs