web-dev-qa-db-fra.com

Comment changer la couleur de fond d'une section entière dans UICollectionView?

Dans UICollectionView, je souhaite attribuer à la section entière une couleur d'arrière-plan uniforme, au lieu d'une seule cellule ou de la vue de la collection entière.

Je ne vois aucune méthode de délégué pour faire cela, des suggestions?

29
lichen19853

Ceci est un excellent tutoriel pour changer la couleur de la section UICollectionView: 

Lien mis à jour, grâce à l'utilisateur @casamia

http://www.ericjchapman.com/jekyll/update/ios/2014/11/10/ios-changing-section-background-color-in-UICollectionView.html

Fondamentalement, nous devrons sous-classe UICollectionViewLayoutAttributes, UICollectionReusableView et UICollectionViewLayout afin de créer une instance UICollectionReusableView en tant qu'arrière-plan de la section.

Voici son résultat:

 enter image description here

Veuillez suivre le lien pour plus d'explications.

3
FlySoFast

Je n'ai pas encore essayé cela, mais il me semble que vous devez utiliser des vues de décoration si vous voulez un arrière-plan derrière vos cellules (comme l'étagère de l'application Livres). Je pense que vous devriez pouvoir avoir des vues différentes pour chaque section et les configurer à l'aide de la méthode de délégation layoutAttributesForDecorationViewOfKind:atIndexPath:.

2
rdelmar

L'idée est de remplacer UICollectionViewLayoutAttributes pour ajouter un attribut color. Et ensuite, remplacez UICollectionReusableView applique la couleur à l'arrière-plan de la vue.

https://github.com/strawberrycode/SCSectionBackground

2
dangthaison.91

Dans la vue Collection, chaque section peut avoir une vue supplémentaire. Mettez donc des vues supplémentaires pour chaque section, puis définissez la couleur d'arrière-plan sur des vues supplémentaires au lieu de cellules de section. J'espère que cela aidera.

0
Jirune