मुझे इस समस्या का सामना करना पड़ता है, क्योंकि viewDidLoad()
में मैंने UICollectionViewCell कक्षा के साथ अपना सेल पंजीकृत किया। मेरी cellForItemAtIndexPath
में dequeueReusableCell के लिए CustomSubcalssCollectionViewCell इस्तेमाल किया।
सुनिश्चित करें कि registerClass और dequeueReusableCell एक ही कक्षा समस्या
self.registerClass(SomeUICollectionCellClass.self, forCellWithReuseIdentifier: reuseIdentifier)
let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! SomeUICollectionCellClass
स्रोत
2015-12-17 12:08:12
का उपयोग कर वर्ग पंजीकृत करना चाहते हैं रजिस्टर करेंगे, दृश्य अब लोड करता है। हालांकि, अब UICollectionView भयानक लग रहा है। मेरा मानना है कि कोड की उस पंक्ति को हटाने का मतलब है कि मेरी स्टोरीबोर्ड में सेट की गई सभी लेआउट बाधाएं, अब जंक हैं और उन्हें प्रोग्रामेटिक रूप से जोड़ा जाना है? –
मुझे लगता है कि बाधा समस्या का एक और कारण है। एप्पल डॉक्स से: ": forIndexPath: बुला dequeueReusableCellWithReuseIdentifier से पहले कैसे दिए गए प्रकार का एक नया सेल बनाने के लिए संग्रह को देखने बताने के लिए विधि: forCellWithReuseIdentifier: संग्रह को देखने के विधि, आप इस विधि या registerNib उपयोग करना चाहिए।" मेरा अनुभव यह है कि यदि सेल को स्टोरीबोर्ड में परिभाषित किया गया है तो रजिस्टर नीब स्वचालित रूप से काम करता प्रतीत होता है। – coco
सामान्य नोट: स्टोरीबोर्ड प्रोटोटाइप का उपयोग करते समय सेल कक्षाओं को पंजीकृत करना आवश्यक नहीं है। यदि आप पंजीकरण करते हैं, तो यह आपके प्रोटोटाइप को पीछे छोड़ देगा। – Wizkid