iOS 手写代码UICollectionView

// 

   1  必须使用下面的方法进行Cell类的注册:

    //    - (void)registerClass:forCellWithReuseIdentifier:

    //    - (void)registerClass:forSupplementaryViewOfKind:withReuseIdentifier:

    //    - (void)registerNib:forCellWithReuseIdentifier:

    //    - (void)registerNib:forSupplementaryViewOfKind:withReuseIdentifier:

    //初始化

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

    [flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];

    self.collectionView = [[UICollectionView alloc]initWithFrame:CGRectMake(0,kNavHeight, kDeviceWidth, kDeviceHeight-kNavHeight*2-kTabBarHeight-20)collectionViewLayout:flowLayout];

    //注册

    [self.collectionView registerClass:[VideoCell class] forCellWithReuseIdentifier:@"cell"];

//设置代理

    self.collectionView.delegate = self;

    self.collectionView.dataSource = self;

    [self.view addSubview:self.collectionView];


 

 

#pragma mark - collectionView delegate

//设置分区

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{

    

    return 1;

}


//每个分区上的元素个数

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section

{

    return 24;

}


//设置元素内容

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

{

    static NSString *identify = @"cell";

    VideoCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifyforIndexPath:indexPath];

    [cell sizeToFit];

    if (!cell) {

        

    }

    VideoModel *model = [self.videoModels objectAtIndex:indexPath.row];

    NSURL *url = [NSURL URLWithString:model.videoImgURL];

    

    [cell.imgView setImageWithURL:url];

    cell.titleLbale.text = model.videoTitle;

    return cell;

}


//设置元素的的大小框

-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section

{

    UIEdgeInsets top = {5,10,15,5};

    return top;

}


//设置顶部的大小

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

    CGSize size={0,0};

    return size;

}

//设置元素大小

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath*)indexPath{

    

    //NSLog(@"%f",(kDeviceHeight-88-49)/4.0);

    return CGSizeMake(240,(kDeviceHeight-kNavHeight*2-kTabBarHeight-20)/4.0);

}


//点击元素触发事件

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

    NSLog(@"%@",indexPath);

    DetailVideoViewControlle*detailVC = [[DetailVideoViewControllealloc]init];

    [self.navigationController pushViewController:detailVC animated:YES];

    [detailVC release];

}


原文链接:http://zyc-to.blog.163.com/blog/static/1715240020140131946702/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值