2015-08-30 33 views
5

Im bir UICollectionView bir UICollectionViewFlowLayout atamak için çalışıyor FlowLayout ve fiziksel bir aygıtta iyi çalışır ancak simülatörleri bir sinyalle, kırmak:exc_arithmetic hata yalnızca, atama UICollectionView

EXC_ARITHMETIC (kod = EXC_i386_DIV, alt kod = 0x0)

Bu yalnızca bir simülatörde olur

, 0 hatası bir bölümü genellikle benim anlaşılmasıdır, ama benim uygulanması için mümkün şu nasıl görmüyorum

Kodu: Ayrıca

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 

, ben bu çizgide sinyal almak: EN:: 277,38 YÜKSEKLİK: self.collectionView!.collectionViewLayout = flowLayout

ve görünümü sınırları vardır 75.0

Herhangi bir yardım veya alternatifleri olacağını oldukça memnun olarak!

+0

'self.view.bounds.width' 0 mı önce

reloadData

aramaya yardım etti? – jtbandes

+0

Jtbandlar, boyutların çıktısını alma WIDTH: 277,38 YÜKSEKLİK: 75.0 –

cevap

3

Aynı sorun üzerinde çalıştığım eski bir kod üzerinde de var ve bu kodu yanlış bir yöntemden çağırıyormuş gibi görünüyor. Onu daha uygun bir yere, viewDidLoad veya init'e taşıdım ve işe yarıyor.

+0

Burada sadece çözümün yarısı gibi görünüyor. CollectionViewLayout'u istediğiniz zaman değiştirebilmeniz gerekiyor. –

2

setCollectionViewLayout

+0

Benim durumum üzerinde çalışıyor. Ama neden?????????? –