0
votes

Comment définir la couleur de fond dans la section cellulaire pas la section d'en-tête?

J'ai créé une collectionView et je souhaite définir la couleur de la section cellulaire couleur de fond

Puisque je ne sais pas combien de rangées il a et je ne veux pas définir la couleur de fond dans d'autres sections

Définir l'arrière-plan de la section de cellule entièreColor


6 commentaires

Je pense que vous devrez définir une couleur d'arrière-plan dans la méthode cellulefinorat pour chaque cellule séparément, vous vérifierez si indexpath.section == quelque chose, puis définissez la couleur correspondante.


Github.com/Devxoul/uicollectionViewflexLayout


iOS 13+ -> UicollectionViewCompositionAllayout


Qu'avez-vous dans CollectionViewCell ??? , comme si cet élément couvre toutes les zones, alors Cell.backgroundColor n'apparaîtra pas ... sinon la réponse de @aaira Samson devrait fonctionner ....


Stackoverflow.com/a/34697261/7316675 Cela pourrait vous aider


Est-ce que cela répond à votre question? Modification de la couleur de fond cellulaire dans Uicollectionview à Swift


3 Réponses :


1
votes

Vous pouvez le faire sur votre COREPFORITEMAT, j'espère que cela aide :)

func collectionView(_ collectionView: UICollectionView,
                    cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! SampleCell
    if indexPath.section == 1 {
        cell.backgroundColor = UIColor.systemPink
    } else {
        cell.backgroundColor = UIColor.white
    }
    return cell
}


0 commentaires

0
votes

Vous pouvez le faire avec le code suivant:

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

        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as! TestCell

        if indexPath.section == 1 {

           cell.backgroundColor = UIColor.red

        } else {

           cell.backgroundColor = UIColor.orange

        }

        return cell

     }


0 commentaires

0
votes

Enfin, je trouve la solution.

Dans la cellule Il y a deux uiview qui est la vue de la cellule et le contenuView. Et tous les vues que vous ajoutez sont dans le contenuView. Donc, je devrais:

  • Définissez la couleur de fond de cellule
  • Ajouter une couche Quelle image est insérée par le cadre de la cellule
  • Réglez la couleur de fond de calque
  • Ajouter des vues

0 commentaires