2010-11-10 11 views
8

मैं जानना चाहता हूं कि GestureRecognizers में UIViews के आकार या आंदोलनों को प्रतिबंधित करने का कोई तरीका है या नहीं।UIGestureRecognizer आंदोलनों प्रतिबंध

निश्चित रूप से मैं अपना खुद का प्रतिबंध कोड लिख सकता हूं लेकिन वाना को पता है कि क्या हम कुछ संपत्ति या कुछ सीमा निर्धारित करने के लिए कुछ सेट कर सकते हैं।

उदाहरण के लिए UIPanGestureRecognizer में मैं किसी खास CGRect भीतर PanGesture को जोड़ा गया देखने के आंदोलन को प्रतिबंधित करना चाहते हैं, तो वहाँ किसी भी तरह से मुझे लगता है कि बाउंडिंग रेक्ट तो सेट कर सकते हैं संवेदन PanGesture पर अगर दृश्य मेरी सीमांकन फ्रेम से बाहर जा रहा है यह अनुमति नहीं देगा।

+0

कोई भी .......... – cocos2dbeginner

उत्तर

0

जहां तक ​​मुझे पता है कि आपको खुद को लिखना है।

टैप जेस्चर आपको सेट करने देते हैं कि आप कितनी नलियां कितनी उंगलियों के साथ प्रतिक्रिया दे रहे हैं, लेकिन उनमें से अधिकतर बहुत से सहायक नहीं प्रदान करते हैं।

1

मुझे लगता है कि इसे पूरा करने का सबसे आसान तरीका उस आय में एक अदृश्य दृश्य बनाना है और इसमें इशारा जोड़ना है। उदाहरण: आप रेक्ट {ए, बी, सी, डी} के अंदर एक्स को देखने में आंदोलन का पता लगाना चाहते हैं। {a, b, c, d} rect में UIView वाई बनाएं। रंग को साफ़ करने के लिए इसे पृष्ठभूमि रंग सेट करें। इशारा पहचानकर्ता बनाएं और इसे Y व्यू में जोड़ें।

- (void) selector:(UIPanGestureRecognizer *) gesture 
{ 
    UIView *viewX = [self.view viewWithTag:kTagViewX]; 
    //now you know that the gesture took place and you have access to your view 
} 

आप रेक्ट जिसमें आप इशारा सक्रिय होना चाहते हैं बदलने की जरूरत है, तो बस वाई दृश्य और देखा के लिए कदम: इशारा के चयनकर्ता में कुछ इस तरह करते हैं!

संपादित करें:

तुम भी UIGestureRecognizer प्रतिनिधि का उपयोग करें और सही या गलत लौट इस पद्धति में कर सकते हैं:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch; 

कि स्पर्श तर्क की स्थिति पर निर्भर करता है। असल में ऐप्पल का सुझाव है कि उनके डब्ल्यूडब्ल्यूडीसी सत्र वीडियो में से एक में। और यह बेहतर है क्योंकि आपको एक और दृश्य जोड़ने और स्मृति को भरने की आवश्यकता नहीं है।

संबंधित मुद्दे