मैं एक कस्टम सेल उपवर्गीकरण UICollectionViewCell
के साथ एक UICollectionView
है। मेरी cellForItem
dequeueReusableCellWithIdentifier पुन: उपयोग नहीं कोशिकाओं
AHPinterestCell *cell =
(AHPinterestCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"AHPinterestCell"
forIndexPath:indexPath];
में
[self.collectionView_ registerClass:[AHPinterestCell class]
forCellWithReuseIdentifier:@"AHPinterestCell"];
यह है कि क्या चला जाता है, हालांकि, यह है कि यह सेल पुन: उपयोग नहीं कर रहा है लगता है: और कोड में मैं निम्नलिखित किया है। स्क्रीन प्रति मेरे संग्रह ध्यान में रखते हुए यह 9-10 के बारे में कोशिकाओं को दिखा रहा है, लेकिन जब मैं अनंत स्क्रॉल और फिर मैं फोन insertItemsAtIndexPath
यह, अपने कस्टम सेल पर initWithFrame
प्रणाली को बुलाती है, जबकि यह शायद कोशिकाओं मैं पहले से ही है पुनः उपयोग करना चाहिए। ऐसा क्यों है?
संपादित करें:
मैं एक नमूना डेमो परियोजना है कि समस्या को दिखाता है द्वारा जोड़ा जा रहा, xcode परियोजना के लिए लिंक पाया जा सकता है here। जब आप नीचे तक पहुंचते हैं तो यह अनिवार्य रूप से एक अनंत स्क्रॉल कर रहा है, यह सिर्फ इसमें अधिक सामान जोड़ता है। लेकिन जब आप ऐसा करते हैं तो यह फिर से init विधि को कॉल करने जा रहा है।
@Rob मैं रजिस्टर कॉल कर रहा हूं क्लाउड दृश्य में देखेंडलोड – adit
@ सांग इसे सिर्फ 10 की तरह ही करना चाहिए और बाकी जब मैं स्क्रॉल करता हूं तो उसे कभी भी इनिट को कॉल नहीं करना चाहिए क्योंकि यह पहले से ही मेरे पास है – adit
@Sang यह सुनिश्चित करें कि आप कितने हैं जब यह दिखाई देता है तो init जाएगा? तो मेरे मामले में मेरे पास एक UICOllectionView है जिसमें इसमें 100 सेल्स हैं, फिर भी एक बार स्क्रीन पर 10 दिखाए जाते हैं। तो मुझे लगता है कि केवल 10 init को बुलाया जाएगा और बाकी का पुन: उपयोग किया जाएगा – adit