Ios UICollectionViewFlowLayoutAutomaticSize执行错误访问
我有一个集合视图,对于某些单元格,我希望返回特定的高度,而对于其他单元格,我希望返回到自动大小。这是我的密码:Ios UICollectionViewFlowLayoutAutomaticSize执行错误访问,ios,uicollectionview,ios9,uicollectionviewlayout,Ios,Uicollectionview,Ios9,Uicollectionviewlayout,我有一个集合视图,对于某些单元格,我希望返回特定的高度,而对于其他单元格,我希望返回到自动大小。这是我的密码: -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ if(something){ retur
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
if(something){
return UICollectionViewFlowLayoutAutomaticSize;
}else{
return some CGSize
}
}
但是,当我尝试返回UICollectionViewFlowLayoutAutomaticSize
时,会出现EXC\u BAD\u访问错误。我还尝试在流布局本身上将大小设置为自动标注:
UICollectionViewFlowLayout* layout = (UICollectionViewFlowLayout*)self.collectionViewLayout;
layout.itemSize = UICollectionViewFlowLayoutAutomaticSize;
当我分配给UICollectionViewFlowLayoutAutomaticSize
时,我也会遇到同样的错误
我做错了什么?不确定这是否与您的问题有关,但我还有一个带有流布局的集合视图的
EXC\u BAD\u访问。更改。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)
我的电池只有一个标签,所以它们比100x100小。我想如果你给出的估计尺寸大于实际尺寸是不好的
希望这对任何人都有帮助