J'ai une application avec un écran qui est divisé en quatre cellules égales. Chaque cellule a une image, une étiquette et une couleur. J'essaie d'ajouter les images, mais pour une raison quelconque, seule l'image de la première cellule fonctionne.UIImageView dans UICollectionView ne dessine pas correctement
Il ressemble à ceci maintenant:
Voici mon code: En ViewController.swift:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
colorArray += [UIColor.red, UIColor.blue, UIColor.green, UIColor.yellow]
pictureArray += [UIImage(named: "budget")!, UIImage(named: "journey")!,
UIImage(named: "learn")!, UIImage(named: "settings")!]
titleArray += ["Budget", "Journey", "Learn", "Settings"]
}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 4
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as UICollectionViewCell
// Set cell properties
cell.backgroundColor = colorArray[indexPath.row]
let imageview:UIImageView=UIImageView(image: pictureArray[indexPath.row])
let size = CGSize(width: 100, height: 100)
imageview.center = cell.center
imageview.bounds = CGRect(origin: cell.bounds.origin, size: size)
cell.contentView.addSubview(imageview)
let label = cell.viewWithTag(1) as! UILabel
label.text = titleArray[indexPath.row]
return cell
}
Les étiquettes et les couleurs fonctionnent très bien, mais pour une raison quelconque, les vues d'images semblent être hors de l'écran. J'ai le sentiment que les restrictions de mon centre/limite obligent les images de l'écran, mais j'ai essayé beaucoup de combinaisons, et aucune d'elles ne semble fonctionner pour moi.
Comment est-ce que je devrais faire ceci?
Ce sera mieux si vous utilisez des cellules prototypes. Avez-vous essayé de voir la hiérarchie de vue? –
Placez une autre image au début de pictureArray et vérifiez si cette image est également dessinée dans la première cellule? – 3stud1ant3
@YogeshSuthar J'ai créé ma propre sous-classe de UICollectionViewCell avec un IBOutlet pour l'image et le titre et cela a fonctionné! Je vous remercie! –