8

के माध्यम से एक ही UICollectionView में एकाधिक शीर्षलेख अनुपूरक दृश्य पंजीकृत करें, इसलिए मेरे पास एक UICollectionView है जिसे मैं उपयोगकर्ता के राज्य के आधार पर एकाधिक UICollectionViewCells और विभिन्न शीर्षलेख प्रदर्शित करने के लिए उपयोग करना चाहता हूं। समस्या यह है कि मैं पंजीकरण नहीं कर सकता स्टोरीबोर्ड के भीतर एकाधिक UICollectionResuableView (शीर्षलेख) दृश्य। यदि मैं एक को एक पाद लेख के रूप में पंजीकृत करने का प्रयास करता हूं और इसे हेडर के रूप में उपयोग करता हूं तो ऐप क्रैश हो जाता है। मैं स्टोरीबोर्ड में कहीं भी अनुभागों की संख्या घोषित करने के लिए नहीं देखता, जो समस्या को कम करेगा। अभी के लिए मुझे एकाधिक UICollectionViews का उपयोग करना है और मुझे जिस हेडर की आवश्यकता है, उसके आधार पर संग्रह दृश्य को छुपाएं/छुपाएं। क्या ऐसा करने का कोई बेहतर तरीका है, या स्टोरीबोर्ड के भीतर एक ही UICollectionView में एकाधिक शीर्षलेख दृश्यों को पंजीकृत करने का एक तरीका है?स्टोरीबोर्ड

उत्तर

11

आप स्टोरीबोर्ड में UICollectionView में एक से अधिक शीर्षलेख पंजीकृत नहीं कर सकते हैं, लेकिन आप कोड में मनमानी संख्या पंजीकृत कर सकते हैं। आपको निब फाइलों (हेडर प्रति शीर्ष एक निब, शीर्ष स्तर ऑब्जेक्ट के रूप में शीर्षलेख के साथ) में कई हेडर बनाना चाहिए, और viewDidLoad में अपने संग्रह दृश्य उदाहरण के साथ उन्हें पंजीकृत करना चाहिए।

आप इसे registerNib:forSupplementaryViewOfKind:withReuseIdentifier: method के साथ करेंगे।

+1

मैं रजिस्टर क्लास की कोशिश कर रहा था: विधि, बहुत साफ दृष्टिकोण। यद्यपि स्टोरीबोर्ड के अंदर संग्रह दृश्य पर इस मान को सेट करने में सक्षम होना अभी भी अच्छा होगा। –

+0

आपके द्वारा उपयोग की जाने वाली कौन सी रजिस्टर विधि इस बात पर निर्भर करती है कि क्या आप अपने यूआई को एनआईबी में लागू करना चाहते हैं या कोड में मुझे लगता है। मैं आमतौर पर एनआईबी दृष्टिकोण का उपयोग कर खुद को पाता हूं। –

+4

निराशा में क्या हास्यास्पद अभ्यास था। मान लीजिए कि मुझे इसे शुरू करने के लिए बस एक अलग निब में रखा जाना चाहिए था। – TylerJames