जब किसी तालिका में कई पंक्तियां होती हैं, तो उपयोगकर्ता तालिका को ऊपर/नीचे फ्लिक कर सकता है। यह एक स्क्रॉलिंग एनीमेशन बनाता है जो फ्लिक इशारा की गति/लंबाई के आधार पर एक निश्चित लंबाई है। स्क्रॉलिंग बंद होने पर तालिका में कौन सी पंक्तियां दिखाई देगी, तो विश्वसनीय रूप से गणना करना संभव है यदि कोई और उपयोगकर्ता इंटरैक्शन नहीं है?यूआईटीबल व्यू स्क्रॉलिंग को किस पंक्ति में गणना करेगा?
उत्तर
आईओएस 5.0 में और बाद में UIScrollViewDelegatescrollViewWillEndDragging:withVelocity:targetContentOffset: नामक एक नया एपीआई है। इस नई विधि के साथ, स्क्रॉल की स्टॉप स्थिति की गणना की जा सकती है और यहां तक कि संशोधित भी किया जा सकता है, जैसा कि Video Session 100: What's New in Cocoa Touch में बताया गया है, नौवें मिनट के आसपास।
मुझे नहीं पता कि आप कितनी पंक्तियां दिखाएंगे, यह निर्धारित कर सकते हैं कि आप कितनी पंक्तियां दिखाएंगे, लेकिन आप हमेशा यह जान सकते हैं कि कितनी पंक्तियां दिखायी गई हैं। (। एक बार मेज बंद हो जाता है w/आगे नहीं छू) सुनिश्चित नहीं हैं कि मदद करता है, लेकिन यह आप इसे कैसे
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// make sure to declare your integer in your .h file and to also synthesize
//say this is your int "howManyRowsAreShowing"
howManyRowsAreShowing = indexPath.Row;
//the rest of the code below is generic table view code for example only
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
// Set up the cell...
NSString *cellValue = [listOfItems objectAtIndex:indexPath.row];
cell.text = cellValue;
return cell;
}
दिलचस्प सवाल करना होगा है ..... UITableViewDelegate
रूप में अच्छी तरह UIScrollViewDelegate
के अनुरूप है: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intf/UIScrollViewDelegate
कुछ प्रतिनिधि कॉलबैक हैं जिनका उपयोग आप यह जानने के लिए कर सकते हैं कि जब स्क्रॉलिंग कम हो जाती है, और कम हो जाती है।
आप शायद – scrollViewDidEndDecelerating:
का उपयोग कर सकते हैं और उस बिंदु पर सेल ऊंचाइयों और सामग्री तालिका की सामग्री ऑफसेट संपत्ति का उपयोग करें (तालिका दृश्य उपclasses UIScrollView
) और फिर मंदी के बाद दिखाई देने वाली कोशिकाओं की गणना करें।
UITableView
UIScrollView
से विरासत और आप उस UIScrollViewDelegate
तरीकों और तालिका दृश्य indexPathsForVisibleRows
संपत्ति का उपयोग करके जांच करने के लिए जो सेल सूचकांक पथ पल स्क्रॉल बंद हो जाता है पर दिखाई दे रहे हैं पूरा कर सकते हैं।
आप प्रारंभिक स्थिति को भी रद्द कर सकते हैं जहां से मंदी शुरू हुई है, ताकि आप गणना कर सकें कि स्क्रॉल दिशा ऊपर या नीचे थी या नहीं, जो तब आपको बताएगी कि क्या सेल बंद हो जाएगा या यह पहला है या दृश्यमान के अंतिम।
int startDeceleratingPosition;
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
startDeceleratingPosition = scrollView.contentOffset.y;
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
BOOL isPositionUp = startDeceleratingPosition < scrollView.contentOffset.y;
NSArray *paths = [_myTableview indexPathsForVisibleRows];
UITableViewCell *cell;
if(isPositionUp){
cell = [_myTableview cellForRowAtIndexPath:[paths objectAtIndex:0]];
} else {
cell = [_myTableview cellForRowAtIndexPath:[paths lastObject]];
}
}
ऊपर कोड के बारे में एक महत्वपूर्ण सूचना है कि यह एक चर _myTableview
के बजाय सिर्फ एक UITableView *
के लिए प्रतिनिधि विधि चर scrollView
कास्टिंग के रूप में तालिका दृश्य को इंगित करता है, हालांकि यह सिर्फ कार्यान्वयन विवरण है और प्रभावित नहीं होना चाहिए है यहां तर्क।
आह, अगर स्क्रॉल की गति प्राप्त करने के लिए केवल एक विधि थी ... –
लेकिन ऐसा कोई तरीका है ... UIScrollView में एक विलुप्त होने वाली संपत्ति है, जो इसके लिए निम्न स्तर का दृष्टिकोण होगा, और साथ ही साथ गलत परिणाम प्राप्त करने के बहुत अधिक संभावनाएं। http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollView_Class/Reference/UIScrollView.html#//apple_ref/doc/uid/TP40006922-CH3-DontLinkElementID_2 –
मंदी दर केवल स्थिर है गुरुत्वाकर्षण की तरह। स्क्रॉलिंग कब और कहाँ रुक जाएगी, और आगे की गणना करने के लिए आपको वर्तमान स्क्रॉलिंग गति को जानने की आवश्यकता है, और मुझे सार्वजनिक एपीआई के माध्यम से स्क्रॉलिंग की गति प्राप्त करने का कोई तरीका नहीं दिख रहा है। –
- 1. स्टोरीबोर्ड सेग्यू को यूआईटीबल व्यू के डीसेक्लेरो
- 2. कस्टम यूआईटीबल व्यू डायनामिक सेल ऊंचाई
- 3. आईफोन - कस्टम यूआईटीबल व्यूसेल
- 4. स्क्रॉलिंग से UITableView को रोकना?
- 5. डेटाग्रिड व्यू में गणना कॉलम ऑब्जेक्ट
- 6. Android में ग्रिड व्यू स्क्रॉलिंग को अक्षम कैसे करें?
- 7. ऑटो-रीसाइज यूआईटीबल व्यू हेडर ऑन रोटेट (अधिकतर आईपैड पर)
- 8. तालिका पंक्ति गणना
- 9. स्क्रिप्ट में प्रत्येक पंक्ति की शब्द गणना
- 10. SQLBulkCopy पंक्ति गणना पूर्ण
- 11. हेरोकू पंक्ति गणना गलत
- 12. SQLDataReader पंक्ति गणना
- 13. सी # डेटाग्रिडव्यू पंक्ति गणना
- 14. ग्रिड व्यू पंक्ति ऊंचाई
- 15. डेटाग्रिड व्यू पंक्ति (WinForms)
- 16. एक एनएसटीबल व्यू में एक पंक्ति रंग
- 17. असीमित यूआईटीबल व्यूसेल छवि जीसीडी
- 18. ओरिएंट डीबी पंक्ति गणना
- 19. छवियों को अतुल्यकालिक रूप से डाउनलोड किया जाता है केवल यूआईटीबल व्यू में टैप या स्क्रॉल
- 20. डेटाग्रिड व्यू सेल संरेखण काम नहीं करेगा
- 21. विंडोज़ एज़ूर टेबल्स - पंक्ति गणना?
- 22. किसी टेक्स्ट व्यू को किसी विशेष पंक्ति पर स्क्रॉल करना
- 23. ग्रिड/स्क्रॉलव्यूज़र- फ्रीज ग्रिड हेडर पंक्ति वर्टिकल स्क्रॉलिंग, लेकिन क्षैतिज स्क्रॉलिंग
- 24. एएसपी.Net में ग्रिड व्यू - सही पंक्ति का चयन
- 25. org.hibernate.StaleStateException: बैच अपडेट अद्यतन से अप्रत्याशित पंक्ति गणना लौटा [0]; वास्तविक पंक्ति गणना: 0; अपेक्षित: 1
- 26. पाठ के एक विशिष्ट सबस्ट्रिंग को स्क्रॉलव्यू में स्क्रॉलिंग व्यूव्यू
- 27. एसएसआरएस रिपोर्ट बिल्डर में पंक्ति गणना प्राप्त करें
- 28. एंड्रॉइड टेक्स्ट व्यू में अगली पंक्ति में टेक्स्ट कैसे लपेटें?
- 29. एंड्रॉइड लिस्ट व्यू में एक पंक्ति में आईडी असाइन करना
- 30. jquery डेटाटेबल्स डिफ़ॉल्ट पंक्ति गणना बदलें
अच्छा सवाल है, लेकिन जहां तक मैं कहने में सक्षम हूं .. नहीं, ऐसा लगता है कि यह एक जटिल ऑपरेशन होगा जो आसपास रहने के लिए होगा। –