2010-04-25 3 views

उत्तर

4

आप 3.2+ को लक्षित हैं नहीं कर रहे हैं:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    if ([touches count] == 2) { 
     //etc 
    } 
} 
+0

धन्यवाद ईमान नहीं है! मेरी समस्या हल हो गई! –

2

multiTouchEnabled संपत्ति YES पर सेट करें।

0

यदि आपकी आवश्यकताओं की अनुमति है, तो UITapGestureRecognizer का उपयोग करें। भर देखने के लिए कितने छूता है वहाँ थे और चाहे या नहीं वे अपने नल/खींचें सीमा से अधिक ले जाया गया

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event; 

ट्रैक: अन्यथा, अपने कस्टम UIView में निम्नलिखित UIResponder तरीकों को लागू। आपको सभी चार तरीकों को लागू करना होगा।

10

आप ओएस 3.2 लक्षित कर सकते हैं या इसके बाद, आप एक UITapGestureRecognizer उपयोग कर सकते हैं। इसका उपयोग करना वास्तव में आसान है: बस इसे कॉन्फ़िगर करें और इसे दृश्य में संलग्न करें। जब इशारा किया जाता है, तो यह इशारा करने वाले की पहचान को सक्रिय करेगा।

उदाहरण:

UITapGestureRecognizer * r = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewWasDoubleTapped:)]; 
[r setNumberOfTapsRequired:2]; 
[[self view] addGestureRecognizer:r]; 
[r release]; 

तो फिर तुम सिर्फ एक - (void) viewWasDoubleTapped:(id)sender तरीका लागू है, और जब [self view] डबल-टैप हो जाता है कि लागू कर दिया जाएगा।

संपादित

मैं सिर्फ महसूस किया आप दो उंगलियों के साथ एक टैप का पता लगाने के बारे में बात कर रहा हो सकता है। यदि ऐसा है, तो आप

[r setNumberOfTouchesRequired:2]
कर सकते हैं।

इस दृष्टिकोण का प्राथमिक लाभ यह है कि आपको कस्टम व्यू उपclass