=================
UICollectionView的应用
=================
用于显示方块Cell
代理:<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
//布局
UICollectionViewFlowLayout *flowLayout=[[UICollectionViewFlowLayout alloc]init];
//横向间距
flowLayout.minimumLineSpacing=30;
//竖向间距
flowLayout.minimumInteritemSpacing=20;
//滚动的方向 flowLayout.scrollDirection=UICollectionViewScrollDirectionVertical;
//创建UICollectionView
_collectionView=[[UICollectionView alloc]initWithFrame:CGRectMake(0, 64, KSCREENWIDTH, KSCREENHEIGHT-64-49) collectionViewLayout:flowLayout];
_collectionView.delegate=self;
_collectionView.dataSource=self;
_collectionView.backgroundColor=[UIColor whiteColor];
[self.view addSubview:_collectionView];
#pragma mark collectionView的代理
//返回每组有多少个对象
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return _dataArray.count;
}
//返回cell的大小
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
return CGSizeMake(60, 80);
}
//返回距离四周的边距,上,左,下,右
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
return UIEdgeInsetsMake(30, 30, 30, 30);
}
//cell的定制
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *cellId=@"cell";
SetCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:cellId forIndexPath:indexPath];
SetModel *model=_dataArray[indexPath.row];
cell.itemName.text=model.name;
cell.itemImage.image=[UIImage imageNamed:model.imageUrl];
return cell;
}
// 标题栏
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
UICollectionReusableView *reusableview = nil;
if (kind == UICollectionElementKindSectionHeader) {
if (indexPath.section == 0) {
JYGP3ReusableView *header = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeadView" forIndexPath:indexPath];
header.text = @"预设食谱";
reusableview = header;
UIButton *netCookBut = [UIButton buttonWithType:UIButtonTypeCustom];
[netCookBut setBackgroundImage:[UIImage imageNamed:@"ic_p3_btn_add"] forState:UIControlStateNormal];
[netCookBut setTitle:@"+网络食谱" forState:UIControlStateNormal];
[netCookBut setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
netCookBut.titleLabel.font = [UIFont systemFontOfSize:10];
netCookBut.frame = CGRectMake(ScreenWidth - 63 - 7, 17, 63, 20);
[netCookBut addTarget:self action:@selector(addNetCookbook) forControlEvents:UIControlEventTouchUpInside];
[header addSubview:netCookBut];
}
if (indexPath.section == 1) {
JYGP3ReusableView *header = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"headerID" forIndexPath:indexPath];
header.text = @"我的食谱";
reusableview = header;
}
}
return reusableview;
}