OUPA: Pokusim se.
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
let numberOfItems = numberOfItemsThatFit(lines: 2, data: data, collectionWidth: collectionView.bounds.width)
return numberOfItems
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
// standardni kod co vraci celly
}
a potom v UICollectionView forcuju reload, kdyz se zmeni bound.
override var bounds: CGRect {
didSet {
self.reloadData()
}
}
Zlastni je to chovani. Ze se zavola numberOfItemsInSection:, vrati spravnou hodnotu, ale cellForItemAt: se zavola jen tolikrat co byla puvodni hodnota, coz nedava vubec smysl. Protoze pri reloadu se prece vzdycky zavola numberOfItemsInSection: a az potom se servirujou celly? Leda by byl problem ze je ten UICollectionView zrovna v rotaci a animuje se.