美文网首页
UICollectionView

UICollectionView

作者: 女孩的日常流水 | 来源:发表于2018-01-09 15:34 被阅读5次

    1 创建一个layout

    //先创建UICollectionViewFlowLayout的对象

     UICollectionViewFlowLayout *layout=[[UICollectionViewFlowLayout alloc]init];

     //同一行相邻两个cell的最小间距

        layout.minimumInteritemSpacing = 5;

     //最小两行之间的间距

        layout.minimumLineSpacing = 5;

    在这里还可以设置大小和上左下右等。。

    UICollectionView *view = [[UICollectionView alloc]initWithFrame:CGRectMake(0, 0, 375, 667) collectionViewLayout:layout];

     view.backgroundColor=[UIColor whiteColor];

     view.delegate=self;

     view.dataSource=self;

     //这个是横向滑动

     //layout.scrollDirection=UICollectionViewScrollDirectionHorizontal;

      [self.view addSubview:view];

    2  必须注册cell

     //这种是xib建的cell 需要这么注册

     UINib *cellNib=[UINib nibWithNibName:@"CollectionViewCell" bundle:nil];

        [_collectionView registerNib:cellNib forCellWithReuseIdentifier:@"CollectionViewCell"];

     //这是头部与脚部的注册

     UINib *cellNib1=[UINib nibWithNibName:@"CollectionReusableView" bundle:nil];

       [_collectionView registerNib:cellNib1 forSupplementaryViewOfKind: UICollectionElementKindSectionHeader withReuseIdentifier:@"CollectionReusableView"];

        [_collectionView registerNib:cellNib1 forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"CollectionReusableView"];

    //cell的点击事件

    -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{

     //cell被电击后移动的动画

        [collectionView selectItemAtIndexPath:indexPath animated:YES scrollPosition:UICollectionViewScrollPositionTop];

    }

    //头部试图的大小

    -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section{

     return CGSizeMake(50, 60);

    }

    //头部和脚部的加载

    -(UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{

        UICollectionReusableView *view=[collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"CollectionReusableView"forIndexPath:indexPath];

        UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(110, 20, 100, 30)];

     if ([kind isEqualToString:UICollectionElementKindSectionHeader]) {

            label.text=@"头";

        }else{

            label.text=@"脚";

        }

        [view addSubview:label];

     return view;

    }

    //脚部试图的大小

    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section

    {

     return CGSizeMake(50, 60);

    }

    相关文章

      网友评论

          本文标题:UICollectionView

          本文链接:https://www.haomeiwen.com/subject/luawnxtx.html