gpt4 book ai didi

ios - 收到自定义 collectionView 错误 : EXC_BAD_ACCESS code=2

转载 作者:行者123 更新时间:2023-11-29 02:14:28 25 4
gpt4 key购买 nike

我有一个从 Instagram 获取数据的 Collection View 。

CollectionView 通过 Outlet 连接:

@property (weak, nonatomic) IBOutlet UICollectionView *myCollectionView;

这是我如何填充单元格:

-(UICollectionViewCell*)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{

myCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"myCell" forIndexPath:indexPath];

if(!cell){

cell = (myCell *)[myCell cell];
}

[self customizeLayoutFlow];
cell.photo = self.photos[indexPath.row];


return cell;
}

-(void)customizeLayoutFlow{

UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
self.myCollectionView.collectionViewLayout = layout;
layout.itemSize = CGSizeMake(106.0, 106.0);
layout.minimumInteritemSpacing = 1.0;
layout.minimumLineSpacing = 1.0;
}

在您提问之前,我想补充一点,单元格无需 customizeLayoutFlow 方法即可完美加载。但我需要使用 UICollectionViewFlowLayout 自定义其布局。出于某种原因,我收到一个 EXC_BAD_ACCESS code=2 错误,指向 self.myCollectionView.collectionViewLayout = layout;

在没有数据之前,collectionView 只是加载空单元格,但采用我想要的设计(意味着 customizeLayoutFlow 运行良好)。

如何解决这个问题?

更新:

我用另一种方式解决问题:

#pragma mark - customize layout

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{

return CGSizeMake(106.0, 106.0);
}

-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section{

return 1.0;
}

-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section{

return 1.0;
}

很遗憾我没有弄清楚如何使用 UICollectionViewFlowLayout 但至少它可以工作。

最佳答案

如果你尝试:

-(void)customizeLayoutFlow{

UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];

layout.itemSize = CGSizeMake(106.0, 106.0);
layout.minimumInteritemSpacing = 1.0;
layout.minimumLineSpacing = 1.0;

self.myCollectionView.collectionViewLayout = layout;
}

代替?

关于ios - 收到自定义 collectionView 错误 : EXC_BAD_ACCESS code=2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28900564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com