2013-03-09 10 views
11

मैं अपने आईपैड एप्लिकेशन में संग्रह दृश्य का उपयोग कर रहा हूं। मैंने कस्टम लेआउट क्लास का उपयोग किया है जो UICollectionViewFlowLayout क्लास को विरासत में मिला है।UICollectionView सेल गायब हो जाता है

मैं क्षैतिज स्क्रॉल दिशात्मक का उपयोग कर रहा हूँ। समस्या यह है कि, जब भी हम संग्रह दृश्य के लिए स्क्रॉल का उपयोग करते हैं, तो कुछ बार सेल गायब हो जाता है। मैंने कोड डीबग किया, और पाया कि सेल बनाने के बाद डेटा स्रोत विधि में, इसकी छिपी हुई संपत्ति स्वचालित रूप से चालू हो जाती है।

मैं रेखा के नीचे का उपयोग कर, लेकिन इसके काम नहीं कर रहा

cell.hidden = NO 

मैं विधि नीचे है भी बाध्य परिवर्तन पर लेआउट को अमान्य करने की कोशिश की।

- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds { 
      return YES; 
     } 

लेकिन फिर भी मुझे समस्या का सामना करना पड़ रहा है। इस पर कोई समाधान?

अग्रिम धन्यवाद।

+0

मेरे लिए भी यही समस्या हो रही है, क्या आपने समाधान निकाला है? – anoop4real

+0

मैं अपनी समस्या को ठीक करने में कामयाब रहा http://stackoverflow.com/questions/38913664/uicollectionviewcell-gets-hidden-randomly/38931405#38931405 – anoop4real

उत्तर

1

एक ज्ञात समस्या है जो UICollectionView में disappear से कोशिकाओं का कारण बन सकती है। यदि उनका फिक्स आपके लिए काम नहीं करता है, तो PSTCollectionView, आज़माएं जो UICollectionView के लिए एक ओपन सोर्स प्रतिस्थापन है। यदि PSTCollectionView काम करता है, तो आपको ऐप्पल को रडार टिकट दर्ज करना चाहिए।

+0

आपका कहना है कि यह UICollectionView बग ​​है? – Swapnil

+2

मुझे हाल ही में UICollectionView के साथ कुछ बग का सामना करना पड़ा। मुझे पूरा यकीन है कि UICollectionView बग-फ्री नहीं है। जांच करने का सबसे अच्छा तरीका PSTCollectionView का उपयोग करना है। चूंकि यह खुला स्रोत है, इसलिए आप आसानी से अपना कोड ढूंढ सकते हैं। –

+0

हां। मुझे यह भी बुरा नहीं लगता है। मैं पीएसटी कोलेक्शन व्यू के साथ जांच करूंगा। धन्यवाद... – Swapnil

0

मेरी प्रोजेक्ट में, यूआईसीओलेक्शन व्यूसेल गायब हो जाता है, मैं जिस प्रवाह का उपयोग करता हूं वह UICollectionViewLeftAlignedLayout नामक एक कस्टम लेआउट है। इसकी स्क्रॉल दिशा क्षैतिज है। मैं बार-बार परियोजना को डीबग करता हूं, मैंने google.com के माध्यम से हर समाधान की कोशिश की है। वह सब जो मेरे लिए काम नहीं करता था।

अंत में, मैं UICollectionViewLeftAlignedLayout हटा सकते हैं और के माध्यम से का उपयोग देशी UICollectionViewFlowLayout:

UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; 
[layout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; 

layout.scrollDirection    = UICollectionViewScrollDirectionHorizontal; 
_collectionView.collectionViewLayout = layout; 
_CollectionView.autoresizingMask  = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; 

और मैं स्टोरीबोर्ड के माध्यम से सेल रिक्ति (यह भी आप उन्हें लेआउट के प्रॉपर्टी के माध्यम से सेट कर सकते हैं) की स्थापना की:

spacing

फिर मैं प्रोजेक्ट को फिर से चलाता हूं, UICollectionViewCell अब और अधिक नहीं है। आशा है कि मेरा मामला आपकी मदद कर सकता है।

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