最近使用UICollectionView,在一個頁面上同時顯示三個UICollectionView,可是在一切準備就緒運行時,發現三個UICollectionView中兩個顯示的數據數量是同樣的(其實三個數據源數量都是不同的)。code
經過不斷檢查排除,再加上度娘。度娘上也幾乎查不到相關錯誤。因此在最後解決後,在這記錄一下。it
UICollectionViewFlowLayout *flowLayout2=[[UICollectionViewFlowLayout alloc] init]; flowLayout2.itemSize=CGSizeMake((Width-20)/3.0,(Width-20)*1.75/3.0); flowLayout2.scrollDirection=UICollectionViewScrollDirectionVertical; flowLayout2.headerReferenceSize=CGSizeMake(10, 10); flowLayout2.footerReferenceSize=CGSizeMake(10, 10); self.imageCollectView.collectionViewLayout=flowLayout2;
如上代碼,我使用了UICollectionViewFlowLayout來給UICollectionView設定cell大小等。但其中兩個UICollectionView因爲採用了同一個自定義cell,因此我偷懶只建立了一個UICollectionViewFlowLayout給兩個collectionView使用。io
而就是這個形成了這兩個UICollectionView的數據數量顯示錯誤。應該是其cell複用時出了錯。class
最後的解決方案:哪怕是如出一轍的樣式,該建立兩個UICollectionViewFlowLayout,就得建立兩個,分別給兩個UICollectionView使用。scroll