के तहत UIScrollView पर स्पर्श स्पर्श जानकारी मेरे पास एक ट्रांसपरेंट UIView के तहत एक UIScrollView है। मुझे स्क्रॉल व्यू में सभी पैन और टैप्स को स्थानांतरित करने की आवश्यकता है (जो केवल क्षैतिज स्क्रॉल करता है)। नियमित UIView लंबवत पैन (Subclass found here) को ट्रैक करने के लिए UIPanGestureRecognizer के उप-वर्ग का उपयोग करता है। ओवरले व्यू में, मैं उन्हें UIScrollView में पास करने के लिए स्पर्श ईवेंट विधियों को ओवरराइड करता हूं।किसी अन्य UIView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
[self.scrollView.panGestureRecognizer touchesBegan:touches withEvent:event];
[self.scrollView.singleTapGesture touchesBegan:touches withEvent:event];
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesCancelled:touches withEvent:event];
[self.scrollView.panGestureRecognizer touchesCancelled:touches withEvent:event];
[self.scrollView.singleTapGesture touchesCancelled:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesEnded:touches withEvent:event];
[self.scrollView.panGestureRecognizer touchesEnded:touches withEvent:event];
[self.scrollView.singleTapGesture touchesEnded:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesMoved:touches withEvent:event];
[self.scrollView.panGestureRecognizer touchesMoved:touches withEvent:event];
[self.scrollView.singleTapGesture touchesMoved:touches withEvent:event];
}
ओवरले व्यू, लंबवत पैन पूरी तरह से काम करता है। UIScrollView में, नलियां पूरी तरह से काम करती हैं। स्क्रॉलिंग हालांकि, इतना नहीं। स्क्रॉल व्यू लगभग तीन अंक स्क्रॉल करता है, फिर बंद हो जाता है (जैसा कि मैं क्षैतिज पैन के साथ जारी रहता हूं।) यदि मैं एक वेग के साथ जाने देता हूं, तो स्क्रॉल व्यू उस वेग को उठाता है और स्क्रॉलिंग समाप्त करता है।
स्क्रॉल दृश्य को स्क्रॉल करना बंद करने के संभावित कारण क्या होंगे, फिर वेग उठाएं?
मान लें कि पारदर्शी दृश्य को कम से कम एक प्रकार के स्पर्श का जवाब देने की आवश्यकता है, जैसे स्वाइप या जो भी हो। –
उहम्म ... मुझे नहीं पता कि आपकी स्क्रॉलिंग क्यों बंद हो जाती है और वेग उठाता है .. लेकिन मैंने जो किया होगा वह है .. मेरे UIScrollView सभी घटनाओं को संभाल लें .. स्वाइप सहित पारदर्शी UIView को संभालने के लिए ... और एक कॉलबैक फ़ंक्शन करें जो उस ईवेंट को उस UIView पर पास करता है ... UIView पर userInteractionEnabled को अक्षम भी करता है .. इसलिए UIScrollView जिस तरह से काम करता है उसे काम करता है .. nd UIView केवल एक ही ईवेंट को संभालेगा क्योंकि यह UIScrollView इसे पकड़ लेगा और पास करेगा यह UIView को ... शायद आपके पास वापस जाने और इसे बदलने में बहुत देर हो चुकी है .. लेकिन खेद है कि मुझे नहीं पता कि आपकी समस्या को कैसे ठीक किया जाए। – chuthan20