//
1) 必须使用下面的方法进行Cell类的注册:
// - (void)registerClass:forCellWithReuseIdentifier:
// - (void)registerClass:forSupplementaryViewOfKind:withReuseIdentifier:
// - (void)registerNib:forCellWithReuseIdentifier:
// - (void)registerNib:forSupplementaryViewOfKind:withReuseIdentifier:
- (void)viewDidLoad
{
//初始化
UICollectionViewFlowLayout *flowLayout=[[UICollectionViewFlowLayoutalloc] init];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
self.collectionView =
[[UICollectionViewalloc]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:identify forIndexPath: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
{
return CGSizeMake(240,(kDeviceHeight-kNavHeight*2-kTabBarHeight-20)/4.0);
}
//点击元素触发事件
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"%@",indexPath);
DetailVideoViewController *detailVC = [[DetailVideoViewControlleralloc]init];
[self.navigationController pushViewController:detailVCanimated:YES];
}