[collectionView reloadSections:[NSIndexSet indexSetWithIndex:0]];
[collectionView reloadSections:[NSIndexSet indexSetWithIndex:1]];
[collectionView reloadSections:[NSIndexSet indexSetWithIndex:2]];
[collectionView reloadSections:[NSIndexSet indexSetWithIndex:3]];
[collectionView reloadSections:[NSIndexSet indexSetWithIndex:4]];
[collectionView reloadSections:[NSIndexSet indexSetWithIndex:5]];
当collectionView 分段刷新的时候,部分section contentSize有占用位置 而section却消失不见了
是因为在使用reloadSection的时候 需要保证当前的layout不变;
只需要对最外层的collectionView的cell返回的size修改就可以了
CGSizeZero 替换为
return CGSizeMake(375,0.01f);
有实际大小的一个cell
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(nonnull UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(nonnull NSIndexPath *)indexPath
{
switch (indexPath.section) {
case 0:{
//return CGSizeZero;
return CGSizeMake(375, 0.01f);
break;
}
case 1:{
//return CGSizeZero;
return CGSizeMake(375, 0.01f);
break;
}
default:
return CGSizeZero;
break;
}
}
网友评论