似乎-addSubview
两次将UILabel
添加到UICollectionReusableView
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
if ([kind isEqualToString:UICollectionElementKindSectionHeader]) {
UICollectionReusableView *reusableview = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeaderView" forIndexPath:indexPath];
if (reusableview==nil) {
reusableview=[[UICollectionReusableView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
}
UILabel *label=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
label.text=[NSString stringWithFormat:@"Recipe Group #%i", indexPath.section + 1];
[reusableview addSubview:label];
return reusableview;
}
return nil;
}
此代码不起作用:
if (reusableview==nil) {
reusableview=[[UICollectionReusableView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
}
所以可重复使用的视图永远不会出现。
答案 0 :(得分:0)
如果要自定义UICollectionReusableView,则需要以与UICollectionViewCell相同的方式对其进行子类化。此外,每次重复使用reusableview时,你基本上都会添加一个标签(滚动或reloadData为ex)。
我刚才发了一篇帖子:UICollectionView adding image to a cell
为您的可重复使用的视图做同样的事情,让我知道它是否解决了您的问题。