मेरे पास एक स्क्रॉल व्यू है जो स्क्रॉल करने के लिए उपयोग किया जाता था जब उसके पास बटन नहीं थे। अब यह करता है, और माउस को खींचते समय (सिम्युलेटर पर) कुछ भी नहीं होता है (मुझे लगता है क्योंकि बटन धक्का दिए जा रहे हैं)। मैं यह कैसे सही कर सकता हूँ?स्क्रॉलव्यू बटन पर खींचते समय स्क्रॉल नहीं करते
उत्तर
ऐसा इसलिए हो रहा है क्योंकि UIButton
UIScrollView
के सबव्यूज़ (मुझे लगता है कि बटन आपके मामले में सबव्यूव के रूप में जोड़े गए हैं) स्पर्श को ट्रैक कर रहे हैं और स्क्रॉल व्यू नहीं। UIScrollView
विधि touchesShouldCancelInContentView
यहां कुंजी है। इसके विवरण के अनुसार: "डिफ़ॉल्ट लौटाया गया मान हाँ है यदि दृश्य UIControl
ऑब्जेक्ट नहीं है, अन्यथा, यह NO
देता है।", यानी UIControl
ऑब्जेक्ट्स (बटन), UIScrollView
स्क्रॉलिंग को रोकने वाले स्पर्श को रद्द करने का प्रयास नहीं करता है।
तो, बटन के साथ स्क्रॉल अनुमति देने के लिए:
- यकीन
UIScrollView
संपत्तिcanCancelContentTouches
YES
पर सेट है। - उपवर्ग
UIScrollView
औरtouchesShouldCancelInContentView
ओवरराइडYES
वापस जाने के लिए जब सामग्री दृश्य वस्तु एकUIButton
है, इस तरह:
- (BOOL)touchesShouldCancelInContentView:(UIView *)view
{
if ([view isKindOfClass:[UIButton class]]) {
return YES;
}
return [super touchesShouldCancelInContentView:view];
}
आपके उत्तर के लिए धन्यवाद। मैंने बटनों को अनुकरण करने के लिए छवियों वाली स्क्रॉल को बदल दिया है (और विधि को कॉल करने के बारे में जानने के लिए स्पर्शों को ट्रैक करना) मैं आपके समाधान का प्रयास करूंगा और देख सकता हूं कि यह कैसे काम करता है। धन्यवाद! – DanielaM
@DanielaM अगर इस अद्भुत जवाब ने आपको वास्तव में ऐसा लगता है, तो इसे स्वीकार करना अच्छा होगा। – iHunter
** बोल्ड ** @ रोमन के - तुम मेरे हीरो हो! मैंने इस ओवरलैपिंग समस्या के बारे में कई पोस्ट \ मंचों में 2 दिन पढ़ा है लेकिन वास्तव में कोई ट्वीक या समाधान वास्तव में काम नहीं करता है। आपका समाधान वास्तव में काम करता है !! चीयर्स :-) – Shvalb
मैं इस सवाल का इस समस्या के लिए तेजी से समाधान की तलाश में स्थापित किया गया है, मैं की तरह "अनुवाद" यह इस:
class UIButtonScrollView: UIScrollView {
override func touchesShouldCancelInContentView(view: UIView!) -> Bool {
if (view.isKindOfClass(UIButton)) {
return true
}
return super.touchesShouldCancelInContentView(view)
}
}
आशा है कि यह मदद कर सकता है
स्विफ्ट 3 समाधान
override func touchesShouldCancel(in view: UIView) -> Bool {
if view is UIButton {
return true
}
return super.touchesShouldCancel(in: view)
}
- 1. स्क्रॉलव्यू के साथ सापेक्ष लयआउट स्क्रॉल नहीं
- 2. स्क्रॉलव्यू
- 3. स्क्रॉलव्यू स्क्रॉल के अंदर एंड्रॉइड वेबव्यू केवल स्क्रॉलव्यू
- 4. ड्रैग करते समय बटन को हाइलाइट करें
- 5. स्क्रॉलव्यू
- 6. ड्रैगगेबल को खींचते समय ड्रैगगेबल
- 7. स्क्रॉलव्यू पूरी तरह से नीचे स्क्रॉल नहीं कर रहा है
- 8. स्क्रॉलव्यू
- 9. स्क्रॉलव्यू
- 10. $ (विंडो) .scroll तेज़ स्क्रॉल करते समय सटीक नहीं है
- 11. अधिकतम क्षैतिज स्क्रॉलव्यू स्क्रॉल राशि प्राप्त करें
- 12. स्क्रॉलव्यू
- 13. एंड्रॉइड स्क्रॉल देखें स्क्रीन पर घटक को स्क्रॉल करते समय स्क्रीन पर घटक कैसे रखें?
- 14. एक सूची दृश्य में स्क्रॉल नहीं करते समय ऑटोहोइड स्क्रॉलबार
- 15. स्क्रॉलव्यू
- 16. स्क्रॉल करते समय एक स्क्रॉलबार घटना?
- 17. मैन्युअल रूप से एंकर पर स्क्रॉल करते समय यूआरएल बदलें?
- 18. स्क्रॉल करते समय वेब व्यू फ़्लिकर/ब्लिंक
- 19. स्क्रॉलव्यू
- 20. UITextView, संपादन करते समय स्क्रॉल करें?
- 21. टाइपिंग करते समय एक्सकोड स्क्रॉल टेक्स्ट
- 22. FlowLAyout के साथ UICollectionView अनुभाग इन्सेट्स सेट करते समय स्क्रॉल नहीं करते
- 23. स्क्रॉलव्यू
- 24. कोई चित्र खींचते समय: System.Runtime.InteropServices.ExternalException: जीडीआई
- 25. -performDragOperation: डॉक स्टैक से खींचते समय नहीं बुलाया
- 26. व्यूपैगर में बटन विशिष्ट पृष्ठ पर स्क्रॉल
- 27. स्क्रॉलव्यू
- 28. UIScrollview कॉलिंग पर्यवेक्षण लेआउट स्क्रॉल करते समय सबव्यूव्यूज़?
- 29. स्क्रॉलव्यू अनुकूलन
- 30. एंड्रॉइड :: स्क्रॉलव्यू
वहाँ उपकरणों और सिम्युलेटर के बीच कई मतभेद हैं, तो आप एक भौतिक डिवाइस पर इसे करने की कोशिश की है, और माउस और मल्टी टच सबसे बड़ी में से एक है! –