【问题标题】:How to add header to each column in Collectionview如何将标题添加到 Collectionview 中的每一列
【发布时间】:2013-11-17 18:53:04
【问题描述】:

我创建了一个集合视图,它在每一列中都有不同的数据。但要分开它们,我需要添加 header 。我只能添加一个标题。我的代码是:

- (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的个数一样..

【问题讨论】:

    标签: ios uicollectionview multiple-columns uicollectionreusableview


    【解决方案1】:

    我已经解决了我的问题。谢谢。

     RePrecioHeader *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"CollectionHeaderView" forIndexPath:indexPath];
    
            UILabel *lblHeader=(UILabel *)[headerView viewWithTag:MY_HEADER_LABEL_TAG];
            UIView *view = [[UIView alloc] initWithFrame:CGRectMake(5,0, 80, 30)];
            view.backgroundColor = [UIColor grayColor];
    
            lblHeader = [[UILabel alloc] initWithFrame:CGRectMake(2,3, 60, 10)];
            lblHeader.backgroundColor = [UIColor clearColor];
            lblHeader.textColor=[UIColor whiteColor];
            lblHeader.font = [UIFont systemFontOfSize:11.0f];
            lblHeader.numberOfLines=2;
    
            lblHeader.textAlignment=NSTextAlignmentCenter;
            lblHeader.text =[[[self.ClassesArr objectAtIndex:indexPath.section]objectAtIndex:0]objectForKey:@"textoClase"];
            [view addSubview:lblHeader];
            [headerView addSubview:view];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多