2017-08-05 84 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小。我想这是不好的,如果你给出的尺寸大于实际尺寸...

希望这可以帮助任何人。