मेरे पास एक या एकाधिक स्क्रॉलव्यू के साथ कई दृश्य नियंत्रक हैं। हालांकि मैंने एक से अधिक स्क्रॉल व्यू के साथ दृश्य नियंत्रकों में scrollsToTop
झंडे स्पष्ट रूप से सेट किए हैं, फिर भी कुछ स्क्रॉल दृश्य स्थिति बार टैप करते समय स्क्रॉल करने से इनकार करते हैं।यह पता लगाने के लिए कि कौन सी अन्य UIScrollView scrollsToTop में हस्तक्षेप करता है?
एक और दृश्य नियंत्रक को धक्का देने के बाद और इसे इशारा करते हुए इशारा कभी-कभी उस दृश्य में काम करता है जो पहले नहीं था।
यह बहुत भ्रमित है और मुझे नहीं पता कि समस्या क्या है। इस मुद्दे को प्रभावी ढंग से डीबग कैसे किया जा सकता है? क्या स्टेटस बार टैप के लिए कोई वैश्विक (निजी) अधिसूचना है, इसलिए मैं मैन्युअल रूप से दृश्यों को स्क्रॉल कर सकता हूं? आप कितने UIScrollViews लगता है पर निर्भर करता है
- (void)findMisbehavingScrollViews
{
UIView *view = [[UIApplication sharedApplication] keyWindow];
[self findMisbehavingScrollViewsIn:view];
}
- (void)findMisbehavingScrollViewsIn:(UIView *)view
{
if ([view isKindOfClass:[UIScrollView class]])
{
NSLog(@"Found UIScrollView: %@", view);
if ([(UIScrollView *)view scrollsToTop])
{
NSLog(@"scrollsToTop = YES!");
}
}
for (UIView *subview in [view subviews])
{
[self findMisbehavingScrollViewsIn:subview];
}
}
, तो वह कोड आपके विशेष स्थिति डिबग मदद करने के लिए संशोधित कर सकते हैं:
हालांकि मैं इस समाधान एटीएम परीक्षण नहीं कर सकते, तर्क ध्वनि है। –
सरल अभी तक सुंदर स्निपेट! – nobre