Question or problem in the Swift programming language:
Im trying to assign a UICollectionViewFlowLayout to a UICollectionView and it runs fine on a physical device but simulators break, with a signal:
This only happens on a simulator, it is my understanding that this is usually a division by 0 error, but I dont see how thats possible for my implementation
Code:
let flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout() flowLayout.itemSize = CGSizeMake(self.view.bounds.width * 0.67, self.collectionView!.frame.height - 10) flowLayout.scrollDirection = UICollectionViewScrollDirection.Horizontal self.collectionView!.collectionViewLayout = flowLayout
Furthermore, i get the signal at this line: self.collectionView!.collectionViewLayout = flowLayout
and the view bounds are : WIDTH: 277.38 HEIGHT: 75.0
Any help, or alternatives would be greatly appreciated!
How to solve the problem:
Solution 1:
Helped to call
reloadData
before
setCollectionViewLayout
Solution 2:
I got the exact same issue on a old code I am working on and it appears that I was calling this code from a wrong method. I moved it in more appropriate place, viewDidLoad or init and it works.