एप्पल परोक्ष रूप से उनके iOS Human Interface Guidelines में स्क्रॉल संकेतक प्रदर्शित लगातार हतोत्साहित लेकिन दिशा निर्देशों सिर्फ एक कारण के लिए दिशा निर्देश हैं, वे डॉन प्रत्येक परिदृश्य के लिए खाता नहीं है और कभी-कभी आपको विनम्रतापूर्वक उन्हें अनदेखा करने की आवश्यकता हो सकती है।
किसी भी सामग्री दृश्य के स्क्रॉल संकेतक UIImageView
उन सामग्री दृश्यों के सबूत हैं। इसका मतलब यह है कि आप कर सकते पहुँच एक UIScrollView
की पुस्तक संकेतक आप उसके अन्य subviews (अर्थात myScrollView.subviews
) और के किसी भी रूप में स्क्रॉल संकेतक को संशोधित करेगा जैसे आप किसी भी UIImageView
(जैसे scrollIndicatorImageView.backgroundColor = [UIColor redColor];
)।
#define noDisableVerticalScrollTag 836913
#define noDisableHorizontalScrollTag 836914
@implementation UIImageView (ForScrollView)
- (void) setAlpha:(float)alpha {
if (self.superview.tag == noDisableVerticalScrollTag) {
if (alpha == 0 && self.autoresizingMask == UIViewAutoresizingFlexibleLeftMargin) {
if (self.frame.size.width < 10 && self.frame.size.height > self.frame.size.width) {
UIScrollView *sc = (UIScrollView*)self.superview;
if (sc.frame.size.height < sc.contentSize.height) {
return;
}
}
}
}
if (self.superview.tag == noDisableHorizontalScrollTag) {
if (alpha == 0 && self.autoresizingMask == UIViewAutoresizingFlexibleTopMargin) {
if (self.frame.size.height < 10 && self.frame.size.height < self.frame.size.width) {
UIScrollView *sc = (UIScrollView*)self.superview;
if (sc.frame.size.width < sc.contentSize.width) {
return;
}
}
}
}
[super setAlpha:alpha];
}
@end
जो मूल रूप से this source को श्रेय दिया जाता है:
सबसे लोकप्रिय समाधान निम्नलिखित कोड प्रतीत होता है।
यह UIImageView
के लिए एक श्रेणी परिभाषित करता है जो अल्फा संपत्ति के लिए कस्टम सेटर निर्धारित करता है। यह काम करता है क्योंकि UIScrollView
के अंतर्निहित कोड में किसी बिंदु पर, यह इसे छिपाने के लिए अपनी स्क्रॉल सूचक की अल्फा संपत्ति 0 पर सेट करेगा। इस बिंदु पर यह हमारी श्रेणी के माध्यम से चलेगा और, यदि होस्टिंग UIScrollView
का सही टैग है, तो यह प्रदर्शित होने वाले मूल्य को अनदेखा कर देगा।
इस समाधान का उपयोग करने के लिए सुनिश्चित करें कि आपके UIScrollView
में उचित टैग है। 
यदि आप UIScrollView
पल से स्क्रॉल संकेतक को प्रदर्शित करना चाहते हैं तो दृश्य दिखाई देने पर स्क्रॉल संकेतक को बस फ्लैश दिखाई दे रहा है।जी
- (void)viewDidAppear:(BOOL)animate
{
[super viewDidAppear:animate];
[self.scrollView flashScrollIndicators];
}
अतिरिक्त अतः संदर्भ:
स्रोत
2013-03-25 11:31:54
cudnt यू समझते हैं, scrollviews छूने पर दिखाई दे रहे हैं ?? स्क्रॉलबार गायब हो रहे हैं कैसे? क्या आपने टाइमर लगाया है या आप अगले दृश्य पर जा रहे हैं और फिर वापस आ रहे हैं ?? – IronManGill
हाँ scrollviews touch.when मैं उपयोग [myscrollView flashScrollIndicators] पर दिख रहे हैं; वे viewLoad पर दिखाई दिया और फिर seconds.I का एक अंश के बाद गायब हो गया उन्हें alwayz दिखाई ..कोई im वापस इधर-उधर नहीं जा रहा बनाना चाहते रहे हैं। – Honey
जांच यह पता http://stackoverflow.com/questions/3290813/uiscrollview-indicator-always-show – Divya