代码创建九宫格

Posted ╰つ低调渲染那一抹妖娆°

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码创建九宫格相关的知识,希望对你有一定的参考价值。

     1、为了以后创建九宫格的时候不再到处找以前的项目,方便查看复制,直接在这写一篇。

 

基本设置

   //创建一个布局类对象
    UICollectionViewFlowLayout *flowl=[[UICollectionViewFlowLayout alloc]init];
    flowl.itemSize=CGSizeMake((IPONE_W -30)/4, (IPONE_W -30)/4);
    //设置格子内容与边上左xia右距离
    flowl.sectionInset=UIEdgeInsetsMake(0, 0, 0, 0);
    
    flowl.minimumLineSpacing = 10;//格子行间距
    flowl.minimumInteritemSpacing = 10; //格子竖间距
    //设置格子滚动方向
    flowl.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    CGRect rect=CGRectMake(0, 0, IPONE_W, IPONE_H);
    mmcollecV =[[UICollectionView alloc]initWithFrame:rect collectionViewLayout:flowl];

 

单元格和头尾视图一般自定义

    //注册单元格
    [mmcollecV registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"mycell"];
    
    //设置头尾视图大小 //预留空间
    [flowl setHeaderReferenceSize:CGSizeMake(mmcollecV.frame.size.width, 50)];
    [flowl setFooterReferenceSize:CGSizeMake(mmcollecV.frame.size.width, 50)];
    //注册头部视图
    [mmcollecV registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"myhead"];
    //注册尾部视图
    [mmcollecV registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"myfoot"];
    //添加代理
    mmcollecV.dataSource=self;
    mmcollecV.delegate=self;
    
    [self.view addSubview:mmcollecV];

 

代理实现

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return 10;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"mycell" forIndexPath:indexPath];
    cell.backgroundColor = [UIColor redColor];
    return cell;
}

//设置头尾部内容
-(UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
    UICollectionReusableView *reusb=nil;
    
    if (kind ==UICollectionElementKindSectionHeader)
    {
        //定制头部内容
        UICollectionReusableView *head = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"muyhead" forIndexPath:indexPath];
        reusb=head;
    }
    if (kind==UICollectionElementKindSectionFooter)
    {
        UICollectionReusableView *foot = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"myfoot" forIndexPath:indexPath];
        reusb =foot;
    }
    return reusb;
}

 

以上是关于代码创建九宫格的主要内容,如果未能解决你的问题,请参考以下文章

ReactNative: 使用View组件创建九宫格

Android实现九宫格解锁的实例代码

IOS 自定义按钮(代码实现)+九宫格

IOS 自定义按钮(代码实现)+九宫格

iOS代码实现九宫格

哪位大虾有九宫格(数独9*9)的C语言详细代码!!!!!!!!!!!!!!!!!!菜鸟在等候!!!!!