collectionView和tableView最大的不同之处就是需要自定义cell,所以第一步自定义collectionViewCell
1.自定义collection
//
初始化
layout
UICollectionViewFlowLayout
*flowLayout =[[
UICollectionViewFlowLayout
alloc
]
init
];
// 2.
设置每个格子的尺寸
flowLayout.
itemSize
=
CGSizeMake
(
90
,
90
);
// 3.
设置整个
collectionView
的内边距
CGFloat
paddingY =
20
;
CGFloat
paddingX =
20
;
flowLayout.
sectionInset
=
UIEdgeInsetsMake
(paddingY, paddingX, paddingY, paddingX);
// 4.
设置每一行之间的间距
flowLayout.
minimumLineSpacing
= paddingY;
// flowLayout.headerReferenceSize = CGSizeMake(SCREENWIDTH, 50);//
设置
headerView
的尺寸大小
[flowLayout
setScrollDirection
:
UICollectionViewScrollDirectionVertical
];
//
设置滚动方向
//
初始化
ConllectionView
_commonConllectionView
= [[
UICollectionView
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
SCREENWIDTH
,
SCREENHEIGHT
)
collectionViewLayout
:flowLayout];
//
注册单元格
[
_commonConllectionView
registerClass
:[
WCRCommonCollectionViewCell
class
]
forCellWithReuseIdentifier
:
@"commonCollectionCell"
];
// _commonConllectionView
//注册headerView 此处的ReuserIdentifier 必须和 cellForItemAtIndexPath 方法中一致
[
_commonConllectionView registerClass:[*** class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withTeuseIdentifier @“reuableView”];
//
设置代理
_commonConllectionView
.
delegate
=
self
;
_commonConllectionView
.
dataSource
=
self
;
_commonConllectionView
.
backgroundColor
= [
UIColor
whiteColor
];
[self.view addSubview:_commonConllectionView];
2.实现3个代理 DataSource,Delegate,DelegateFlowLayout
3.实现代理方法
-(
NSInteger
)numberOfSectionsInCollectionView:(
UICollectionView
*)collectionView
{
return
1
;
}
-(
NSInteger
)collectionView:(
UICollectionView
*)collectionView numberOfItemsInSection:(
NSInteger
)section{
return
_commonConllectionArray
.
count
;
}
//
定义每个
UICollectionView
的大小
- (
CGSize
)collectionView:(
UICollectionView
*)collectionView layout:(
UICollectionViewLayout
*)collectionViewLayout sizeForItemAtIndexPath:(
NSIndexPath
*)indexPath
{
return
CGSizeMake
(
100
,
100
);
}
-(
UICollectionViewCell
*)collectionView:(
UICollectionView
*)collectionView cellForItemAtIndexPath:(
NSIndexPath
*)indexPath{
WCRCommonCollectionViewCell *cell = (WCRCommonCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"commonCollectionCell" forIndexPath:indexPath];
cell.
commonInfo
=
_commonConllectionArray
[indexPath.
row
];
return
cell;
}