मैं आईओएस, स्विफ्ट में एक प्रोजेक्ट पर काम कर रहा हूं। हम दो अलग-अलग प्रवाह लेआउट के साथ एक संग्रह दृश्य कैसे असाइन कर सकते हैं? यहां मुझे स्टैक-कार्ड की तरह दिखने के लिए अपने UICollectionViewCell की आवश्यकता है, इसके लिए, मैं CardsCollectionViewLayout (बाहरी पॉड फ़ाइल) का उपयोग कर रहा हूं।

myCollectionView.collectionViewLayout = CardsCollectionViewLayout()

और यह ठीक काम कर रहा है। लेकिन मुद्दा यह है कि मैं डिवाइस की चौड़ाई के साथ UICollectionViewCell चौड़ाई को समायोजित नहीं कर सकता। उसके लिए, मुझे UICollectionViewDelegateFlowLayout का उपयोग करने की आवश्यकता है।

func collectionView(_ collectionView: UICollectionView,
                    layout collectionViewLayout: UICollectionViewLayout,
                    sizeForItemAt indexPath: IndexPath) -> CGSize {
    let nCol = 1
    let flowLayout = collectionViewLayout as! UICollectionViewFlowLayout
    let totalSpace = flowLayout.sectionInset.left
        + flowLayout.sectionInset.right
        + (flowLayout.minimumInteritemSpacing * CGFloat(nbCol - 1))
    let size = Int((collectionView.bounds.width - totalSpace) / CGFloat(nbCol))

    return CGSize(width: size, height: 284)
}

लेकिन जब मैं अपने संग्रह दृश्य लेआउट के रूप में CardsCollectionViewLayout का उपयोग करता हूं, तो मुझे उपरोक्त विधि में कॉल वापस नहीं मिला।

या

क्या मेरे UICollectionViewCell के साथ स्टैक-कार्ड प्रभाव जोड़ने का कोई तरीका है।

enter image description here

क्रिप्या मेरि सहायता करे।

2
Hilaj 25 जून 2019, 10:34

1 उत्तर

सबसे बढ़िया उत्तर

आप इसे गलत संभावना से देख रहे हैं, यदि आप CardsCollectionViewLayout का उपयोग करते हैं तो आपको इसे बदलने के लिए उस लेआउट द्वारा प्रदान किए गए फ़ंक्शन का उपयोग करना होगा। CardsCollectionViewLayout में itemSize नाम की एक प्रॉपर्टी है, जिसे आप कार्ड के आकार को निर्धारित करने के लिए सेट कर सकते हैं:

let layout = CardsCollectionViewLayout()
collectionView.collectionViewLayout = layout
layout.itemSize = CGSize(width: YOUR_WIDTH, height: YOUR_HEIGHT)
collectionView.dataSource = self
collectionView.delegate = self
collectionView.isPagingEnabled = true
collectionView.showsHorizontalScrollIndicator = false
2
LorenzOliveto 25 जून 2019, 10:58