2012-12-07 15 views
6

के साथ गायब हो रहा है I UICollectionViewLayout subclassed। अब तक सब ठीक है.
हालांकि, मेरे पास कुछ सेल हैं जो स्क्रीन से व्यापक हैं, और कभी-कभी स्क्रॉल करते समय ये गायब हो जाते हैं। जब आप कुछ और स्क्रॉल करते हैं, तो वे जादुई रूप से फिर से दिखाई देते हैं जहां वे होना चाहिए। मैं आपको अपना कोड दिखा सकता हूं, हालांकि मुझे लगता है कि इसमें कुछ भी गलत नहीं है क्योंकि यह 90% मामलों में काम करता है .. हालांकि, वास्तव में बड़ी कोशिकाएं (स्क्रीन आकार से दो गुना अधिक बार) गायब हो जाती हैं। UICollectionView's cell disappearing और Large cells in a UICollectionView getting removed while the cell is still displayed हालांकि, एक समाधान का उल्लेख नहीं है:बड़े UICollectionViewCell कस्टम लेआउट

NSMutableArray* attributes = [NSMutableArray array]; 
for (int section=0; section < [[self collectionView] numberOfSections]; section++) { 
    [attributes addObject:[self layoutAttributesForSupplementaryViewOfKind:UICollectionElementKindSectionHeader atIndexPath:[NSIndexPath indexPathForItem:0 inSection:section]]]; 
     for (int row=0; row < [[self collectionView] numberOfItemsInSection:section]; row++) { 
      NSIndexPath* indexPath = [NSIndexPath indexPathForItem:row inSection:section]; 
      [attributes addObject:[self layoutAttributesForItemAtIndexPath:indexPath]]; 
     } 
} 
return attributes; 

मैं भी इन पदों है। क्या कोई मेरी इसके साथ मदद कर सकता है? क्या ऐप्पल की तरफ समस्या हो सकती है? और यदि ऐसा है, तो क्या मैं इसे हल करने के लिए कुछ भी कर सकता हूं?

उत्तर

5

आपको बताने के लिए खेद है: मुझे यकीन है कि यह UICollectionView में एक असली बग है; मैंने कुछ हफ्ते पहले इस सटीक चीज़ में भाग लिया है। मैंने बग का प्रदर्शन करने के लिए एक छोटा सा कार्यक्रम बनाया है और ऐप्पल के साथ एक रडार दायर किया है, लेकिन इस पर वापस नहीं सुना है कि क्या वे इसे ठीक करने की योजना बना रहे हैं या नहीं। सबसे अच्छा कामकाज मैं सोच सकता हूं (चेतावनी: मैंने अभी तक इस कामकाज को लागू नहीं किया है) यह ध्यान रखना है कि लेआउट विशेषताएँ स्क्रीन के किनारों से बहुत दूर हैं, जानबूझकर सेल विशेषताओं की सीमाओं को बदलती हैं, इसलिए यह केवल थोड़ी दूर जाती है स्क्रीन, और संभावित रूप से लेआउट एट्रिब्यूट्स में एक अतिरिक्त कस्टम फ़ील्ड के रूप में उस ऑफ़सेट को संग्रहीत करें (वास्तविक राशि जो आप वास्तविक सीमाओं से छुटकारा पाएं), इसलिए आपका सेल सही ढंग से इसकी सामग्री को आकर्षित करने के बारे में जानता है। जो एक सकल हैक की तरह लगता है, लेकिन यह काम करना चाहिए।

+0

क्या आपने वापस सुना है हस्तक्षेप करने का समय? –

0

क्या आप वाकई इस सेल के लिए सही विशेषता वस्तु वापस करते हैं जब विधि -(NSArray*)layoutAttributesForElementsInRect:(CGRect)rect कहा जाता है और जब रेक्ट केवल आपके सेल का हिस्सा होता है?

+0

उपयोगकर्ता भी बहुत बड़ी कोशिकाओं के साथ समस्याएं रिपोर्ट करने की रिपोर्ट करते हैं। देखें: http://stackoverflow.com/questions/13016302/large-cells-in-a-uicollectionview-getting-removed-while-the-cell-is-still-displa?rq=1 – CitronEvanescent

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