如何避免 UICollectionView 重复单元格?

How to avoid UICollectionView repeating cells?

你好,我有一个UICollectionView。我从 NSMutableArray 加载数据,它有 4 个对象。但我的问题是它再次重复相同的单元格。

`

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return mutArrayArtists.count;
}



- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView {
return 2;
 }



- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView  cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"Cell";

UICollectionViewCell *cell = [collectionView   dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];

artist = [mutArrayArtists objectAtIndex:indexPath.row];
UIImageView *recipeImageView = (UIImageView *)[cell viewWithTag:100];
recipeImageView.image = artist.artistImage;

UILabel *lblArtistname=(UILabel *)[cell viewWithTag:102];
lblArtistname.text=artist.artistName;

UILabel *lblSongCount=(UILabel *)[cell viewWithTag:101];
lblSongCount.text=artist.numberofSongs;
return cell;
 }

`

但是结果是这样的

我怎样才能避免这种情况?请帮助我

谢谢

- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView {
    return 1;  //instead of 2
}

这里的节不是指栏数。这意味着集合视图将包含 2 个部分,彼此垂直

这是问题所在:

- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView {
    return 2;
}

集合视图有两个部分,在您的单元格提供程序中,您没有区分这些部分。将其更改为 return 1;(假设您只需要集合中的一个部分)或更新 cellForItemAtIndexPath 函数(通过检查 indexPath.section)以按照您的意愿拆分这些部分。

这可能会有帮助

  - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView

    {

        return 1;
    }