2015-08-30 11 views
5

इम एक UICollectionView करने के लिए एक UICollectionViewFlowLayout असाइन करने की कोशिश flowlayout और यह एक शारीरिक डिवाइस पर ठीक चलता है, लेकिन सिमुलेटर एक संकेत के साथ, तोड़ने:exc_arithmetic त्रुटि केवल, बताए UICollectionView

EXC_ARITHMETIC (कोड = EXC_i386_DIV, subcode = 0x0)

यह केवल एक सिम्युलेटर पर होता है, यह मेरी समझ है कि यह आम तौर पर 0 त्रुटि द्वारा एक प्रभाग है है, लेकिन मैं देख रहा हूँ कि मेरे कार्यान्वयन के लिए संभव thats न

कोड:

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 

इसके अलावा, मैं इस लाइन पर संकेत मिलता है: self.collectionView!.collectionViewLayout = flowLayout

और देखने सीमा हैं: चौड़ाई: 277.38 ऊँचाई: 75.0

किसी भी मदद की, या विकल्प होगा अत्यधिक सराहनीय!

+0

'self.view.bounds.width' 0 है

reloadData

कॉल करने के लिए मदद की? – jtbandes

+0

@jtbandes dimens को कोई प्रिंटिंग नहीं देता है WIDTH: 277.38 HEIGHT: 75.0 –

उत्तर

3

मुझे एक पुराने कोड पर एक ही समस्या मिली है जिस पर मैं काम कर रहा हूं और ऐसा लगता है कि मैं इस कोड को गलत तरीके से कॉल कर रहा था। मैंने इसे अधिक उचित स्थान पर ले जाया, देखेंडिडलोड या इनिट और यह काम करता है।

+0

यहां केवल आधे समाधान की तरह लगता है। आप किसी भी समय संग्रहViewLayout को बदलने में सक्षम होना चाहिए। –

2

से पहले

setCollectionViewLayout

+0

यह मेरे मामले पर काम करता है। पर क्यों?????????? –