如果需要用到UICollectionView已经显示的item做处理时,直接拿indexPathsForVisibleItems排序是有问题的,需要重新排序,visibleCells也是。
NSArray *visibleCellIndex = collectionView.indexPathsForVisibleItems;
NSArray *sortedIndexPaths = [visibleCellIndex sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [obj1 compare:obj2];
}];
NSArray *visibleCellIndex = collectionView.visibleCells;
NSArray *sortedIndexPaths = [visibleCellIndex sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSIndexPath *path1 = (NSIndexPath *)[collectionView indexPathForCell:obj1];
NSIndexPath *path2 = (NSIndexPath *)[collectionView indexPathForCell:obj2];
return [path1 compare:path2];
}];