2012-10-02 21 views
7

मेरे पास क्षैतिज स्क्रॉलिंग और प्रत्येक अनुभाग में एक शीर्षलेख और पाद लेख के साथ मानक फ़्लोलाइट कक्षा का उपयोग करके संग्रह दृश्य है।UICollectionView: पाद लेख और शीर्षलेख के बीच स्थान कैसे जोड़ें?

अब पाद लेख और शीर्षलेख दृश्यों के बीच शून्य पिक्सल है (यानी अनुभागों के बीच)। मैं उनके बीच थोड़ा अंतर जोड़ना चाहता हूं, लेकिन पहले खंड से ऊपर या आखिरी के बाद नहीं। तो मैं हेडर और फ़ूटर दृश्यों में केवल उस स्थान को नहीं जोड़ सकता।

मुझे "इंटरसेक्शन स्पेसिंग" जैसी कुछ उम्मीद होगी, लेकिन स्पष्ट रूप से ऐसी कोई सेटिंग नहीं है। कोई विचार?

उत्तर

9

तो यह पता चला है कि इसके लिए कोई सेटिंग नहीं है। यही वह है जिसके साथ मैंने समाप्त किया:

मैंने हेडर व्यू के निचले हिस्से में गठबंधन करने के लिए अपने हेडर व्यू की सामग्री सेट की है, इसलिए ऐसा लगता है कि हेडर व्यू लम्बाई बनाने के बावजूद, इसकी सामग्री से (ऑटो लेआउट यह वास्तव में आसान बनाता है)।


#define kHeaderHeight 42 
#define kInterSectionMargin 8 

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section 
{ 
    if (section == 0) { 
     return CGSizeMake(0, kHeaderHeight); 
    } 
    return CGSizeMake(0, kHeaderHeight + kInterSectionMargin); 
} 

अब वर्गों के बीच थोड़ी जगह है, लेकिन नहीं पहले अनुभाग:

तब मैं UICollectionViewFlowLayout के इस प्रतिनिधि विधि में खंड सूचकांक के आधार पर शीर्ष लेख की ऊंचाई सेट।

+1

क्या तुमने सही है इससे पहले कि अंतरिक्ष जोड़ना होगा - यह वास्तव में आप क्या करना चाहिए रहे हैं क्या है। आप हेडर व्यू के प्रभारी हैं। जैसा कि आप सही कहते हैं, इसकी दृश्य सामग्री और इसकी "ऊंचाई" दो अलग-अलग चीजें हैं। – matt

0

आप निब फ़ाइल में हेडर और पाद लेख के बीच अंतर सेट कर सकते हैं। 'संग्रह दृश्य' के 'आकार निरीक्षक' पर जाएं और वांछित मूल्य पर शीर्षलेख आकार ऊंचाई सेट करें।

+0

मुझे पता है तुम यहाँ करने के लिए कोशिश कर रहे हैं क्या है, लेकिन यह भी पहली हैडर –

1

आप सही हैं "इंटरसेक्शन स्पेसिंग" जैसी कोई चीज़ नहीं है, लेकिन कुछ करीब है।

पर sectionInset आज़माएं।

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init]; 
[flowLayout setSectionInset:UIEdgeInsetsMake(top, left, bottom, right)]; 
+0

यह हेडर और सामग्री और सामग्री और पाद लेखों के बीच की दूरी निर्दिष्ट करता है। लेकिन पाद लेख और हेडर के बीच नहीं, इसलिए संबंधित होने पर, मूल पोस्टर की आवश्यकता नहीं होती है –

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