iOS 手写代码UICollectionView


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

   //    -(void)registerClass:forCellWithReuseIdentifier:

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

   //    -(void)registerNib:forCellWithReuseIdentifier:

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

   //初始化

   UICollectionViewFlowLayout *flowLayout=[[UICollectionViewFlowLayoutalloc] 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.viewaddSubview:self.collectionView];


 

 

#pragmamark - collectionView delegate

//设置分区

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

    

   return1;

}


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

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

{

   return24;

}


//设置元素内容

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

{

   staticNSString *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;

   returncell;

}


//设置元素的的大小框

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

{

   UIEdgeInsetstop = {5,10,15,5};

   returntop;

}


//设置顶部的大小

-(CGSize)collectionView:(UICollectionView *)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutreferenceSizeForHeaderInSection:(NSInteger)section{

   CGSizesize={0,0};

   returnsize;

}

//设置元素大小

-(CGSize)collectionView:(UICollectionView *)collectionViewlayout:(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 *)collectionViewdidSelectItemAtIndexPath:(NSIndexPath *)indexPath{

   NSLog(@"%@",indexPath);

   DetailVideoViewController *detailVC = [[DetailVideoViewControlleralloc]init];

   [self.navigationControllerpushViewController:detailVCanimated:YES];

   [detailVC release];

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值