J'essaye de modifier la largeur de la cellule de sorte que peu importe la taille de l'écran, j'aurai score1.count
cellules dans une rangée. Le code que j'utilise pour ma vue de collection est le suivant:Modification de la largeur d'une CollectionViewCell
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.items.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath as IndexPath) as! MyCollectionViewCell
cell.myLabel.text = String(self.items[indexPath.item])
return cell
}
Ceci est la fonction qui cible la largeur de la cellule.
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout,sizeForItemAt indexPath: IndexPath) -> CGSize {
let size = Int(self.view.frame.size.width)/(score1.count + 1)
return CGSize(width: CGFloat(size), height: 80)
}
J'ai passé de nombreuses heures à différentes sources et d'essayer des choses différentes, mais la vue de collection n'a jamais le bon nombre de cellules. Une idée est que c'est peut-être parce que j'ai la taille de la cellule définie en mise en page automatique, mais chaque fois que je vais le changer se bloque xcode. Des idées sur le contournement de la mise en page automatique? Ou comment changer la disposition automatique?
Merci!
Êtes-vous le réglage de la 'UICollectionViewFlowLayout'? –
Non, mais je ne le référence pas dans le code. –
a changé le UICollectionViewDelegate en UICollectionViewDelegateFlowLayout et cela a fonctionné! Merci les gars! –