दिलचस्प पोस्ट
क्या जावा में स्टॉपवॉच है? क्या jQuery के साथ इनलाइन शैलियों को निकालना संभव है? ब्राउज़र द्वारा निर्धारित अपलोड फ़ाइल का माइम प्रकार कैसा है? निर्देशिका में कितनी फाइलें डाल सकती हूं? मैं mysqldump से छोटी फ़ाइलों में कैसे आउटपुट कर सकता हूं? संकलित समय का दावा? सफ़ारी या फ़ायरफ़ॉक्स मीडियाएलेमेंटसोर से ऑडियो डेटा की प्रक्रिया में क्यों नहीं हैं? सक्रिय उपयोगकर्ता के उपयोगकर्ता कैसे प्राप्त करें Details आईओएस पर यूट्यूब वीडियो को कैसे एम्बेड करें और इसे पूर्ण स्क्रीन पर UIWebview पर सीधे चलाएं मैं एएसपी.नेट एमवीसी में पेजिंग कैसे करूं? सभी वादों को हल करने की प्रतीक्षा करें Mac os x 10.9 पर Lxml को स्थापित नहीं किया जा सकता रोटेशन एंड्रॉइड पर गतिविधि पुनः आरंभ सी ++ में वेक्टर और बहुरूपता Android में अद्वितीय डिवाइस हार्डवेयर आईडी कैसे प्राप्त करें?

UIScrollView छूता है

इसलिए जब मैं उपयोगकर्ता को UIScrollView को छूता है, तब मैं ध्वनि करना चाहता हूं। UIScrollViewDelegate में scrollViewWillBeginDragging: विधि है, लेकिन यह केवल touchMoved पर कॉल हो जाता है। मैं चाहता हूं कि इसे टच से बुलाया जाए।

कोशिश की गई छूएं: साथ: घटना: लेकिन यह किसी स्पर्श को प्राप्त नहीं करता है। किसी को एक सुराग है?

वेब के समाधान से एकत्रित समाधान "UIScrollView छूता है"

मुझे लगता है कि आपको ऐसा करने में सक्षम होने के लिए UIScrollView को उप-वर्ग करना होगा।

छूता हैबैगन: साथइवेंट: केवल यूआईवीयूवी के उप-वर्गों में भेजा जाता है। आप संभवतया छू लागू कर रहे हैं बैगन: साथएवेंट: आपके नियंत्रक में, है ना? यदि हां, तो वहां से काम नहीं करेगा …

वैकल्पिक रूप से, यदि आपने अपने UIScrollView में UIView (जो आपने लिखा है) के एक उपवर्ग को डाल दिया है, तो आप यहां से ट्रिबिंग बैंगन ईवेंट को भी पकड़ सकते हैं (लेकिन केवल तब जब उपयोगकर्ता उस विशेष उपदृश्य को छूता है)। UIScrollView अपने सबव्यूज़ को डिफ़ॉल्ट रूप से छूटेगा (टच देखेंशूल्डबैजिन: साथइवेंट: इनकंटेंटदृश्य: UIScrollView में)।

इसके बजाय एक टैप इशारे पहचानकर्ता का उपयोग करें:

UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(touch)]; [recognizer setNumberOfTapsRequired:1]; [recognizer setNumberOfTouchesRequired:1]; [scrollView addGestureRecognizer:recognizer]; 

या

अपने UIScrollView उप-कक्षा बनाएं और सभी को लागू करें

  -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ // If not dragging, send event to next responder if (!self.dragging){ [self.nextResponder touchesBegan: touches withEvent:event]; } else{ [super touchesEnded: touches withEvent: event]; } } -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ // If not dragging, send event to next responder if (!self.dragging){ [self.nextResponder touchesBegan: touches withEvent:event]; } else{ [super touchesEnded: touches withEvent: event]; } } -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ // If not dragging, send event to next responder if (!self.dragging){ [self.nextResponder touchesBegan: touches withEvent:event]; } else{ [super touchesEnded: touches withEvent: event]; } } 

इसके बजाय एक टैप इशारे पहचानकर्ता का उपयोग करें:

 UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(touch)]; [recognizer setNumberOfTapsRequired:1]; [recognizer setNumberOfTouchesRequired:1]; [scrollView addGestureRecognizer:recognizer]; 

आप अपने नियंत्रक में इन घटनाओं का जवाब भी दे सकते हैं। काम करने के लिए, आपको इस सुविधा को परिभाषित करना होगा (अपने नियंत्रक में):

 - (BOOL)canBecomeFirstResponder { return YES; } 

इसके बाद, 'व्यूडिडएपपर' में, आपको 'बनना चाहिए' पहले से रस्सीपॉन्डर:

 - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [self becomeFirstResponder]; 

इस मुद्दे पर नए अपडेट (ज़ूमसक्रोल वीव स्रोत कोड के लिंक सहित + UIScrollView आंतरिक पर कुछ उत्कृष्ट स्पष्टीकरण)। इसके अलावा, ऐप्पल के अद्यतित स्क्रॉल विवरस्यूइट उदाहरण को देखें।

आपको स्पर्श जोड़ने चाहिए: बैंगन: साथइवेंट: आपके UIScrollView पर, UIScrollViewDelegate पर नहीं। UIScrollView UIResponder का एक उप वर्ग है, जिसमें टच ईवेंट हैं

रजनीश CustomScrollView जवाब स्विफ्ट 4 में कस्टम CustomScrollView स्टोरीबोर्ड में CustomScrollView पर CustomScrollView

 import Foundation class CustomScrollView: UIScrollView { override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { if !isDragging { next?.touchesBegan(touches, with: event) } else { super.touchesBegan(touches, with: event) } } }