我必须将许多图片加载到UICollectionView
。当我滚动UICollectionView
时,当我滚动到下一页时,我觉得它有点滞后。是因为我下一页时加载了12张图片吗?如果是,我该如何解决呢。以下是我的代码。
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *identifier = @"TestAZCollectionViewCell";
TestAZCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
imgPath = [imgDir stringByAppendingPathComponent:[[itemArray objectAtIndex:indexPath.row]objectForKey:@"IM_ImgName"]];
cell.cellImage.image = [UIImage imageWithContentsOfFile:imgPath];
cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"no_image.jpg"]];
return cell;
}
任何人都可以提供帮助吗?
答案 0 :(得分:0)
试试这个方法:
- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath;
或者在:
中找到一些新方法UICollectionViewDelegate
UICollectionViewDataSource
我希望我能帮到你!
答案 1 :(得分:0)
它滞后是因为系统需要从磁盘或网络加载图像 - >这里慢点。要提高速度,您可以执行以下操作:
使用不同的线程而不是主线程来加载图像对象 - 完成后 - >通过主线程更新UI。
大尺寸的图像会导致UI滚动速度慢以及加载时间 - >如果可能,请将图像大小调整为集合中图像视图的大小。
延迟加载,首先显示带有图像持有者的单元格,并在加载图像时更新图像
答案 2 :(得分:0)
最后我解决了这个问题。为了使其顺利滚动,我使用“haneke”来显示本地图像。希望可以帮助其他