你好我有一个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;
}
`
但结果是这样的
我该如何避免这种情况?请帮帮我
由于
答案 0 :(得分:2)
- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView {
return 1; //instead of 2
}
此处的部分并不代表列数。这意味着集合视图将包含彼此垂直的2个部分
答案 1 :(得分:1)
这是问题所在:
- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView {
return 2;
}
您有两个部分到集合视图,并且在您的单元格提供程序中,您不区分这些部分。将其更改为return 1;
(假设您确实只需要集合中的一个部分)或更新cellForItemAtIndexPath
函数(通过检查indexPath.section
)以按照您的意图将这些部分拆分。
答案 2 :(得分:1)
这可能会有所帮助
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}