So ändern Sie die Hintergrundfarbe einer ganzen Abteilung in UICollectionView?
In UICollectionView, ich möchte den ganzen Abschnitt eine einheitliche Hintergrundfarbe, und nicht für eine einzelne Zelle oder für die gesamte Kollektion ansehen.
Sehe ich keinen delegate-Methode zu tun, irgendwelche Vorschläge?
- versuchen Sie, diese github.com/devxoul/UICollectionViewFlexLayout
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Idee ist, zu überschreiben UICollectionViewLayoutAttributes hinzufügen ein color-Attribut. Und dann überschreiben UICollectionReusableView gelten die Farbe der anzeigen-hintergrund.
https://github.com/strawberrycode/SCSectionBackground
Dies ist ein tolles tutorial für das ändern UICollectionView Abschnitt Farbe:
Aktualisierte link, Dank user @casamia
http://www.ericjchapman.com/jekyll/update/ios/2014/11/10/ios-changing-section-background-color-in-UICollectionView.html
Grundsätzlich, wir haben Unterklasse
UICollectionViewLayoutAttributes
,UICollectionReusableView
undUICollectionViewLayout
um eine Instanz UICollectionReusableView als Abschnitt der hintergrund-Ansicht.Dies ist sein Ergebnis:
Bitte Folgen Sie dem link für mehr details Erklärung.
Habe ich noch nicht ausprobiert, aber es scheint mir, dass Sie müssen verwenden Sie Dekoration-Ansichten wenn Sie wollen, einen hintergrund hinter Ihren Zellen (wie das Regal in der Bücher-app). Ich denke, Sie sollten in der Lage sein, unterschiedliche Ansichten für jeden Abschnitt, und richten Sie Sie mit Hilfe der delegate-Methode
layoutAttributesForDecorationViewOfKind:atIndexPath:
.In der Ansicht Sammlung jeder Abschnitt kann eine Ergänzende Ansichten, so setzen Sie zusätzliche Ansichten für jeden Abschnitt legen Sie dann die hintergrund Farbe der ergänzenden Ansichten anstelle von Abschnitt Zellen. Ich hoffe, es wird helfen.
Es ist ganz einfach, verwenden Sie einfach das Standard-UICollectionViewDelegate Methode, es funktioniert
Ging ich Weg von diesem repo hier https://github.com/SebastienMichoy/CollectionViewsDemo/tree/master/CollectionViewsDemo/Sources/Collections%20Views
Swift 3
Unterklasse uicollectionreusableview
Unterklasse uicollectionViewFlowLayout
Umsetzung dieser
CollectionView delegieren Funktion
Dies ist wichtig,
registrieren UICollectionReusableView mit layout nicht collectionView.
eine weitere Sache. Ich Durcheinander herum mit der Höhe in layoutAttributesForElements. ändern Sie es für Ihr eigenes Projekt.
Habe ich geändert, die Hintergrundfarbe der einzelnen Abschnitte in einer sehr einfachen Art und Weise, in der folgenden Methode: Aber ich war mir nicht sicher, ob es das richtige ist zu tun. Aber es hat funktioniert.