各列に異なるデータを持つコレクションビューを作成しました。しかし、それらを分離するには、 header を追加する必要があります。追加できるヘッダーは 1 つだけです。これに対する私のコードは次のとおりです。
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
UICollectionReusableView *reusableview = nil;
UILabel *lblHeader;
if (kind == UICollectionElementKindSectionHeader) {
RePrecioHeader *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"CollectionHeaderView" forIndexPath:indexPath];
NSArray *cellsInSection = self.ClassesArr[indexPath.section];
float collectionWidth = self.view.bounds.size.width;
int cellsInSectionCount = cellsInSection.count;
float cellWidth = (collectionWidth) / cellsInSectionCount;
cellWidth -= 10* (cellsInSectionCount -1);
for(int i=0;i<self.ClassesArr.count; i++){
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(85/self.ClassesArr.count,-5, cellWidth, 40)];
view.backgroundColor = [UIColor grayColor];
UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 14)];
lbl.textColor = [UIColor whiteColor];
lbl.font = [UIFont systemFontOfSize:12.0f];
lbl.backgroundColor = [UIColor clearColor];
lbl.text = [[[self.ClassesArr objectAtIndex:i]objectAtIndex:0]objectForKey:@"textoClase"];
[view addSubview:lbl];
[self.collectionView addSubview:view];
}
reusableview = headerView;
}
return reusableview;
}
列番号は、ClassesArr の数のようにする必要があります。