2010-08-05 5 views
8

मैं उपयोगकर्ता को दिखाना चाहता हूं कि नीचे एक और सामग्री है लेकिन UITableView केवल स्क्रॉल संकेतक दिखाता है जब हम टेबलव्यू स्क्रॉल करते हैं। कोई रास्ता है, इसलिए मैं स्क्रॉल सूचक हमेशाओबज सी में टेबलव्यू के हमेशा स्क्रॉलर को कैसे दिखाना है?

+0

क्या आपने इस समस्या को हल किया? – Shamsiddin

+0

हाय @ माहेक मैं इस समस्या को लेकर सोच रहा हूं, क्या आपने इसे हल किया था? कृपया मुझे कुछ सुझाव दें। अग्रिम में धन्यवाद। – ilesh

उत्तर

3

स्क्रॉलबार को स्थायी रूप से प्रदर्शित करने के लिए कोई रास्ता नहीं है (जिसे मैं जानता हूं) दिखा सकता हूं। आप

[tableView flashScrollIndicators] 

-viewDidAppear: में शीघ्र ही स्क्रॉलबार प्रदर्शित करने के लिए कर सकते हैं जब दृश्य दिखाया गया है।

इसके अलावा, यदि आपके पास कई प्रविष्टियां हैं, तो आप दाईं ओर (वर्णमाला) सेक्शन इंडेक्स को दिखाने पर विचार करना चाहेंगे। ऐसा करने के लिए, अपने UITableViewDataSource में -sectionIndexTitlesForTableView परिभाषित करें। tableView.sectionIndexMinimumDisplayRowCount का उपयोग करके आप सेक्शन इंडेक्स को प्रदर्शित करने के लिए न्यूनतम प्रविष्टियों को परिभाषित कर सकते हैं।

3

मैंने किया :) मैं monodevelop में प्रोग्रामिंग हूँ, इसलिए मैं केवल विधि का वर्णन:

आप अपनी खुद की UITableView वर्ग बनाने के लिए किया है। वहाँ आप PerformSelector ओवरलोड और यह के आधार फ़ंक्शन को कॉल नहीं है, लेकिन फोन flashScrollIndicators अगर चयनकर्ता का नाम _notifyPopOverStoppedScrolling है।

ओवरलोड फ़ंक्शन ReloadData और वहां flashScrollIndicators भी कॉल करें। केवल ज़ूम करने पर यह गायब हो जाएगा, लेकिन आप ज़ूमिंग पर flashScrollIndicators पर भी कॉल कर सकते हैं।

+0

आप कार्यक्षमता खो देते हैं। काम करते समय, एक बेहतर तरीका होना चाहिए। –

+0

@Neysor क्या आप यहां कुछ कोड प्रदान कर सकते हैं। कृप्या। – ilesh

+0

@ इलेश मैंने केवल बेहतर पोस्ट करने के लिए संपादित किया है जो पोस्ट नहीं किया गया है। आपको Gerold से पूछना है;) – Neysor

6
-(void)viewDidAppear:(BOOL)animated{ 

timer = [NSTimer scheduledTimerWithTimeInterval:0.8 target:self selector:@selector(indicator:) userInfo:nil repeats:YES]; 

} 

-(void)viewDidDisappear:(BOOL)animated{ 
     [timer invalidate]; 
} 

-(void)indicator:(BOOL)animated{ 
     [tableViewer flashScrollIndicators]; 
    NSLog(@"asda"); 
} 

बस स्क्रॉलबार झपकी

+0

कोड का यह हिस्सा बेहतर काम करता है लेकिन उपरोक्त कोड को लागू करने के बाद आईपैड एयर और ऐप छवियों के साथ समस्या लोड नहीं होती है तो उस समस्या के बारे में कोई सुराग –

2
- (void)viewWillAppear:(BOOL)animated 
{ 
    [self.tableView flashScrollIndicators]; 
} 

यह आपकी समस्या

1

मैं इस सवाल के लिए समाधान मिल गया सुलझाने में मदद कर सकते हैं।
UIImageView

@implementation UIImageView (UIScrollView) 
    - (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 

और टैग सेट tableview या scrollview की तरह

#define noDisableVerticalScrollTag 97240626 //for visible only vertical scrollIndicator. 
#define noDisableHorizontalScrollTag 9898460 // for visible only Horizontal scrolling. 

और tableview [tableView flashScrollIndicators]; के लिए लागू करें और scrollview [[scrollobj flashScrollIndicators]]; धन्यवाद।

0

यहाँ कोड का टुकड़ा मेरे लिए काम करता है, viewDidAppear

DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { 
     self.tableView_service.flashScrollIndicators() 
    } 

मुबारक कोडिंग में इस कोड को जोड़ना !!!

संबंधित मुद्दे