2017-08-05 113 views
1

我有一個集合視圖,對於某些單元格我想返回特定的高度以及其他一些單元格,我想回到自動大小。這裏是我的代碼:UICollectionViewFlowLayoutAutomaticSize EXC_BAD_ACCESS

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ 
    if(something){ 
     return UICollectionViewFlowLayoutAutomaticSize; 
    }else{ 
     return some CGSize 
    } 
} 

不過,我得到EXC_BAD_ACCESS錯誤,當我嘗試返回UICollectionViewFlowLayoutAutomaticSize。我也試着大小設置爲自動維度的流量佈局本身:

UICollectionViewFlowLayout* layout = (UICollectionViewFlowLayout*)self.collectionViewLayout; 
layout.itemSize = UICollectionViewFlowLayoutAutomaticSize; 

我也收到同樣的錯誤,當我分配到UICollectionViewFlowLayoutAutomaticSize無論是。

我在做什麼錯?

回答

0

不知道這是否與您的問題有關,但我也有一個帶有流佈局的集合視圖的EXC_BAD_ACCESS。原來改變.estimatedItemSize固定的問題:

let flowLayout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout 

// this breaks 
flowLayout.estimatedItemSize = CGSize(width: 100, height: 100) 

// this does not break 
flowLayout.estimatedItemSize = CGSize(width: 1, height: 1) 

我的細胞具有隻是一個標籤,所以他們比100×100小。我想這是不好的,如果你給出的尺寸大於實際尺寸...

希望這可以幫助任何人。