这是我的代码
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return 10;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
CollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"dfdsfs" forIndexPath:indexPath];
if (indexPath.item == 0) {
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 100, 50)];
label.text=[NSString stringWithFormat:@"this is item %ld", (long)indexPath.item];
[cell.contentView addSubview:label];
cell.contentView.backgroundColor = [UIColor greenColor];
NSLog(@"im @ zero");
} else {
NSLog(@"im here %ld", (long)indexPath.item);
cell.contentView.backgroundColor = [UIColor yellowColor];
}
return cell;
}
我希望仅在索引路径0处添加标签。 我遇到问题,因为标签也出现在其他索引路径中..
答案 0 :(得分:0)
在您的情况下,在if条件中,您还可以添加:
label.tag = 1000; // or other number
而且,在其他地方添加:
[cell.contentView viewWithTag:1000].hidden = YES;
问题是indexPath.item == 0的单元格可能会被重用于其他索引路径,并且仍然可见。
希望它有意义。