आयात <UIKit/UIGestureRecognizerSubclass.h>
और मैन्युअल रूप से state
संपत्ति सेट करें जो आपको अनुकरण करने के लिए आवश्यक राज्यों के अनुक्रम के लिए उपयुक्त है। इससे अतिरिक्त लक्ष्य/एक्शन जोड़े को बुलाया जाएगा। प्रत्येक बार मैन्युअल रूप से राज्य को सेट करने के बाद, संदेशों को प्रेषित करने के लिए आपको रन लूप चलाने देना चाहिए। के रूप में इशारों का एक वास्तविक, 'स्पर्श करके रखें, खींचें, रिलीज' अनुक्रम में पाया जाता है
UILongPressGestureRecognizer
के लिए, राज्यों के सही क्रम पाने के लिए, मैं viewDidLoad
अंदर एक UIViewController
उपवर्ग में निम्नलिखित कोड लिखा है:।
UILongPressGestureRecognizer *r = [[UILongPressGestureRecognizer alloc] init];
[self.view addGestureRecognizer:r];
[r addTarget:self action:@selector(recognize:)];
r.state = UIGestureRecognizerStateBegan;
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
r.state = UIGestureRecognizerStateChanged;
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
r.state = UIGestureRecognizerStateEnded;
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
[r reset];
मैं कल्पना इस उत्पादन कोड में जोखिम भरा होगा (आप बाद में reset
कॉल करने के लिए इच्छा हो सकती है लेकिन मैं अपने परीक्षण में इतना या नहीं कर रही के बीच कोई अंतर पाया जाता है), लेकिन अगर आपके उपयोग के मामले स्वचालित है कि लक्ष्यों को सत्यापित करने के लिए परीक्षण और कार्यों को सही ढंग से सेट किया गया है यह आपकी आवश्यकताओं को पूरा कर सकता है।
स्रोत
2013-01-19 19:31:10
"ऑब्जेक्ट को संदेश" से आपका क्या मतलब है? – iProgrammed
@iProgrammed कृपया स्पष्टीकरण के लिए मेरा पासवर्ड प्रश्न देखें। –