Désolé pour le titre vague mais je n'étais pas complètement sûr de l'appeler. J'ai une liste de cellules de vue de collection dans une collection. Ces cellules ont juste un fond blanc. J'ai un total de 20 cellules et je veux que le premier ait un fond cyan et le quatrième un fond vert. Mon problème est que si la liste est assez grande et je fais défiler les couleurs semblent être aléatoire parfois 4 vert et 2 cyan au sommet au lieu de seulement 1 cyan et 1 vert. Je pense que cela est dû à l'utilisation de l'index path.row dans la méthode func collectionView (_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> méthode UICollectionViewCell et l'attribution de couleurs basées sur indexpath.row. Je pense que l'index path.row change au fur et à mesure que je défile, alors quand je défile vers le bas de l'index path.row, c'est l'élément en haut de l'écran et non en haut de la liste. Je comprends que ce n'est pas la bonne façon d'y parvenir, y at-il de toute façon pour obtenir le premier/dernier élément de la liste au lieu du premier/dernier actuellement sur mon écran? Y a-t-il une meilleure façon de s'y prendre entièrement?Swift CollectionViewCells Numéro
Voici un exemple rapide de ce que la question ressemble - https://gyazo.com/e66d450e9ac50b1c9acd521c959dd067
EDIT:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int` is return 20 and in `func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell` this is what I have - `let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Invite Cell", for: indexPath) as! InviteCell
print(indexPath.row)
if indexPath.row == 0 {
cell.InviteCellContainer.backgroundColor = UIColor.cyan
} else if indexPath.row == 5 {
cell.InviteCellContainer.backgroundColor = UIColor.green
}
return cell
}
Merci cela a corrigé !!!! – XvKnightvX