मैं अपने विचार आधारित iPhone परियोजना में सरल स्वाइप जेस्चर पहचान जोड़ना चाहता हूं। सभी दिशाओं (सही, नीचे, बाएं, ऊपर) में इशारों को मान्यता दी जानी चाहिए।
यह UISwipeGestureRecognizer के लिए डॉक्स में कहा गया है:
आप बिटवाइस-ओर ऑपरेंड्स का उपयोग करके कई यूआईसिपाइपग्योर्योर रिकॉगनाइज़रडायरेक्शन कॉन्स्टेंट को निर्दिष्ट करके कई निर्देश निर्दिष्ट कर सकते हैं। डिफ़ॉल्ट दिशा UISwipeGestureRecognizerDirectionRight है।
हालांकि मेरे लिए यह काम नहीं करता है। जब सभी चार दिशाएं ओआरईडी हैं तो केवल बाएं और दाएं स्वाइप को मान्यता दी जाती है।
- (void)viewDidLoad {
UISwipeGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionDown | UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionUp)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
[super viewDidLoad];
}
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
NSLog(@"Swipe received.");
}
मैंने यह देखने के लिए चार पहचानकर्ताओं को जोड़ने के साथ तय किया लेकिन मैं यह जानने के लिए उत्सुक हूं कि यह डॉक्स में विज्ञापित के रूप में क्यों काम नहीं किया?
- (void)viewDidLoad {
UISwipeGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionUp)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionDown)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
[super viewDidLoad];
}
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
NSLog(@"Swipe received.");
}