1.在dataSource赋值的时候:
注:model.mediumArr为加载进来的新数据源
NSMutableArray*indexPaths = [[NSMutableArray alloc] init];
for ( inti =0; i < model.mediumArr.count; i ++) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow: self.dataSource.count+ i inSection: 0];
[indexPaths addObject: indexPath];
}
if (indexPaths.count > 0) {
[self.dataSource addObjectsFromArray:model.mediumArr];
[self.collectionView insertItemsAtIndexPaths:indexPaths];
[UIView performWithoutAnimation:^{
[self.collectionView reloadItemsAtIndexPaths:indexPaths];
}];
}
2.如果项目涉及到collectionView的滑动优化,在需要只调用reloadData的时候:添加如下动画。
[UIView animateWithDuration:0 animations:^{
[self.collectionView performBatchUpdates:^{
[self.collectionView reloadData];
} completion: nil];
}];
网友评论
步骤二不能和步骤一 放在一起用 这个动画只能加在 数据源不变,只是单纯地reloadData时,比如cell滑动中不显示图片,滑动结束在后,刷新界面,显示cell中的图片。