Im trying to assign a UICollectionViewFlowLayout
to a UICollectionView
and it runs fine on a physical device but simulators break, with a signal:
EXC_ARITHMETIC(code=EXC_i386_DIV, subcode=0x0)
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!
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.
Helped to call
reloadData
before
setCollectionViewLayout
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With