Я использую UICollectionViewDelegateFlowLayout для определения размера ячеек в горизонтально прокручиваемом collectionView.
Когда ViewController загружает ячейки в представлении коллекции ожидаемого размера.Однако, когда я прокручиваю показанные последующие ячейки не имеют правильного размера.
Почему это происходит и как я могу убедиться, что все ячейки имеют правильный размер?
Правильный размер при нагрузке:
Размерыпосле прокрутки:
import Foundation
import UIKit
import Firebase
class Bundles: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
var bundleArray: [bundleStruct] = []
@IBOutlet var collectionView: UICollectionView!
override func viewDidLoad() {
self.collectionView.register(UINib(nibName: "BundleCell", bundle: nil), forCellWithReuseIdentifier: "BundleCell")
collectionView.dataSource = self
collectionView.delegate = self
}
override func viewDidAppear(_ animated: Bool) {
DatabaseClass.getBundles(completion: { result in
self.bundleArray = result
self.collectionView.reloadData()
})
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: collectionView.frame.size.width / 2, height: collectionView.frame.size.height)
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return bundleArray.count * 3
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell : BundleCell = collectionView.dequeueReusableCell(withReuseIdentifier: "BundleCell", for: indexPath) as! BundleCell
return cell
}
}