2017-03-14 4 views
0

Ich versuche, eine benutzerdefinierte Zelle mit oberen, linken, unteren Abstand für jede Zelle zu erstellen. Gibt es eine Sammlungsansichtsdatenquelle methids, um die Zelleneinfügungen in jedem Indexpfad anzugeben.So fügen Sie EdgeInets für jede Zelle in der Sammlungsansicht hinzu -Swift

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: block.blockCellIdentifier, for: indexPath) as! BlockBaseClass 

     let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() 
     layout.minimumLineSpacing = 10 

    return cell 
    } 

Aber das Layout funktioniert nicht, innerhalb des cellforitemAt indexpath.

Antwort

0
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets 
{ 
    return UIEdgeInsetsMake(5.0,5.0,5.0,5.0) // top, left, bottom, right 
} 
+0

wie man die Einsätze jeder Zelle gibt? Wie alle Indexpfade – Joe

+0

wird dies standardmäßig auf alle Zellen angewendet, fügen Sie 'UICollectionViewDelegateFlowLayout' –

+1

hinzu Während dieses Code-Snippet die Frage lösen kann, [einschließlich einer Erklärung] (http://meta.stackexchange.com/questions/114762/explaining-) vollständig code-basierte Antworten) hilft wirklich, die Qualität Ihres Beitrags zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. – DimaSan

0

Mit Hilfe dieser Delegatfunktion können Sie:

Überschreibung func Collection (_ Collection: UICollectionView, Layout collectionViewLayout: UICollectionViewLayout, insetForSectionat Abschnitt: Int) -> UIEdgeInsets { return UIEdgeInsetsMake (50, 50, 15, 50) }

Diese UIEdgeInsetsMake (CGFloat oben, CGFloat links, CGFloat unten, CGFloat rechts);

+0

1. gegeben ist die Funktion der Anpassung der EdgeInsect –

Verwandte Themen