2011-08-29 13 views
14

मेरे पास एक (पारदर्शी) UIView के नीचे एक UIButton है। उपरोक्त UIView में UISwipeGestureRecognizer इसमें जोड़ा गया है, और यह एकमात्र उद्देश्य है - कुछ स्वाइप जेश्चर का पता लगाने के लिए। मैं उन सभी स्पर्शों को उस UIView द्वारा अनदेखा करना चाहता हूं, और अन्य विचारों (जैसे मेरे UIButton के नीचे) पास कर दिया। वर्तमान में, उपरोक्त UIView टैप का पता लगा रहा है (उदाहरण के लिए), कुछ भी नहीं कर रहा है (जैसा होना चाहिए), और UIButton को जवाब देने का मौका नहीं देता है।UISwipeGestureRecognizer के साथ UIView के नीचे UIButton को 'टैप' कैसे पास करें?

यदि संभव हो तो मैं अपने स्वयं के स्वाइप पहचानकर्ता को लागू नहीं करना चाहूंगा। कोई समाधान/सलाह? मैं मूल रूप से सिर्फ यह जानना चाहता हूं कि एक निश्चित प्रकार के जोड़े गए इशारा पहचानकर्ता पर ध्यान देने के लिए UIView को कैसे बताना है, और अन्य सभी स्पर्शों को अनदेखा करें (और इस प्रकार पीछे के विचारों को छोड़ दें)।

उत्तर

2

मुझे कल सिर्फ एक फंक में होना चाहिए - मैं आज एक साधारण समाधान के साथ जाग गया। UISwipeGesture को एक दृश्य में जोड़ें जो UIView और UIButton दोनों के लिए पर्यवेक्षण है। फिर, उन स्वाइप को संसाधित करते समय, पता लगाएं कि स्वाइप कहां से उत्पन्न हुआ था, और क्या वह बिंदु उस फ्रेम के फ्रेम में है जहां मैं UIView था। (मैं उल्लेख किया है, UIView के अस्तित्व के लिए एकमात्र कारण इन स्वाइप जेस्चर के लिए एक लक्षित क्षेत्र परिभाषित करना था।)

0

क्या आप अपना बटन दृश्य के शीर्ष पर नहीं डाल सकते हैं और उस बटन पर इशारा पहचानकर्ता भी जोड़ सकते हैं?

अंत में, आपके UIButton को UIView के माध्यम से UIView के रूप में विरासत मिलती है। इसलिए व्यावहारिक रूप से कुछ भी नहीं है जो आप एक दृश्य के साथ कर सकते हैं लेकिन बटन के साथ नहीं।

+0

नहीं, मैं यूआईवी व्यू के ऊपर यूआईवी व्यू को असंबंधित कारणों से नहीं डाल सकता - और मुझे नहीं लगता कि इस समस्या को हल करने और हल करने के लिए वैसे भी ऐसा करना अच्छा होगा। – danbretl

14

आप निर्धारित किया है:

mySwipeGesture.cancelsTouchesInView = NO; 

छूता है के लिए भेजा जा करने की अनुमति पदानुक्रम के साथ ही इशारा देखें?

साथ ही, यह सुनिश्चित करें कि शीर्ष पर दृश्य है:

theTransparentView.opaque = NO; 
theTransparentView.userInteractionEnabled = YES; 

मैं बहुत अच्छी सफलता इशारा के लिए शीर्ष पर एक पारदर्शी subview बनाए बिना ही जनक दृश्य में इशारों संलग्न किया है। क्या आपको यकीन है कि आपको ऐसा करने की ज़रूरत है?

0

मेरे मामले में, मैंने इसे बटन का उपयोग न करके, बल्कि एक UITapGestureRecognizer द्वारा तय किया। मेरा पैन इशारा पहचानकर्ता पृष्ठभूमि दृश्य में जोड़ा गया था, और टैप इशारा इसके ऊपर एक दृश्य में जोड़ा गया था।

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

  • कोई संबंधित समस्या नहीं^_^