2010-02-06 11 views
5

कैसे मैं एक UITableView के लिए एक कस्टम स्क्रॉलबार बना सकते हैं?UITableView कस्टम स्क्रॉलबार

मैं डिफ़ॉल्ट एक पॉप अप होने वाले ट्रैक करते समय शुरू होता है निकालना चाहते हैं और ट्रैक करते समय समाप्त हो जाती है कि गायब हो जाता है। मैं चाहता हूं कि, इसके बजाय कंप्यूटर प्रोग्राम में ऐसा ही हो: (ए) यह स्क्रीन के दाहिने तरफ है और स्थायी रूप से दिखाई देता है; (बी) बार मैन्युअल रूप से स्क्रॉल करने से उपयुक्त स्थिति में UITableView स्क्रॉल होगा; (सी) UITableView स्क्रॉल करने से स्क्रॉल बार को उचित रूप से स्क्रॉल किया जाएगा (ऐप्पल द्वारा प्रदान किए जाने वाले डिफ़ॉल्ट को दिखाए बिना)।

(बी) और (सी) में कठिनाई यह है कि, जहां तक ​​मुझे पता है, ऐप्पल केवल एक विशेष पंक्ति/खंड पर स्क्रॉल करने के तरीकों को प्रदान करता है, लेकिन पंक्ति के नीचे तीन-चौथाई तक स्क्रॉल नहीं करना । तो, उदाहरण के लिए, अगर मैं स्क्रॉल पट्टी स्क्रॉल करने के लिए चाहते हैं, UITableView बाद में केवल एक पंक्ति/सेल के शीर्ष करने के लिए स्क्रॉल करेंगे। विधि के बारे में मैं बात कर रहा हूँ है:

- (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated 

किसी को भी करने से पहले अपने UITableView में एक कस्टम स्क्रॉल पट्टी लागू किया गया है? या किसी की मदद कर सकते हैं मुझे निम्नलिखित समस्याओं को हल करने का उपाय खोजा:

  • UITableView में के बजाय एक सेल

  • डिफ़ॉल्ट स्क्रॉल पट्टी को दूर करने और इसे रोकने के शुरू करने के किसी भी बिंदु पर स्क्रॉल करके

  • प्रदर्शित होने स्क्रॉल पट्टी छवि/एनीमेशन में बदलाव करने से/जो कुछ भी UITableView के रूप में स्क्रॉल किया है

था nks!


+0

क्यों क्या आपने कभी इस व्यवहार चाहेगा? मैं कल्पना नहीं कर सकता कि यह तालिका दृश्य के दाईं ओर सेक्शन वाले इंडेक्स से बेहतर होगा (जैसा कि संपर्क ऐप में देखा गया है)। यह ऐप्पल के एचआईजी का भी पालन नहीं करता है और ऐप स्टोर से आपका ऐप खारिज कर सकता है। – MrMage

+1

आंशिक रूप से यहां दिए "http://stackoverflow.com/questions/7976593/change-width-and-colour-of-scroll-bar-in-uitableview-iphone" – alekhine

उत्तर

2

UITableView UIScrollView से विरासत, मतलब है कि आप मौजूदा कार्यों के किसी भी उपयोग कर सकते हैं। आपके मामले में

-(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

काम करना चाहिए। यह तालिका को किसी भी स्थिति में ले जाता है जो आप चाहते हैं।

मौजूदा स्क्रॉल सूचक को अक्षम करने के

table.showsVerticalScrollIndicator = NO; 

का उपयोग और अपने खुद के जोड़ने के लिए, बस अपने कस्टम दृश्य जोड़ने!