UICollectionView,自定义的Cell怎么自定义
1个回答
展开全部
1. 首先我们在xib文件中画好 我们的cell文件以及CollectionView文件
X
2. 创建相应的Cell和CollectionViewController文件
其中,xib 文件的file owner分别设置为我们刚刚创建的文件,
如图,添加相对应的property在相应文件中
3. 最为关键一步,为cell注册nib文件和reuse identifier, 和直接建立UIViewController不同,我们需要在delegate方法中在注册一遍nib file,让cell能自动识别nib file.
最下方是我自己的两个nib file
在以下方法中 添加如下代码
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
cellForItemAtIndexPath:(NSIndexPath *)indexPath
// Register nib file for the cell
UINib *nib = [UINib nibWithNibName:@'ReportFilterCollectionViewCell'r /> bundle: [NSBundle mainBundle]];
[collectionView registerNib:nib forCellWithReuseIdentifier:@'reportFilterCell'];
ReportFilterViewControllerCell *cell = [[ReportFilterViewControllerCell alloc]init];
// Set up the reuse identifier
cell = [collectionView dequeueReusableCellWithReuseIdentifier: @'reportFilterCell'
forIndexPath:indexPath];
X
2. 创建相应的Cell和CollectionViewController文件
其中,xib 文件的file owner分别设置为我们刚刚创建的文件,
如图,添加相对应的property在相应文件中
3. 最为关键一步,为cell注册nib文件和reuse identifier, 和直接建立UIViewController不同,我们需要在delegate方法中在注册一遍nib file,让cell能自动识别nib file.
最下方是我自己的两个nib file
在以下方法中 添加如下代码
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
cellForItemAtIndexPath:(NSIndexPath *)indexPath
// Register nib file for the cell
UINib *nib = [UINib nibWithNibName:@'ReportFilterCollectionViewCell'r /> bundle: [NSBundle mainBundle]];
[collectionView registerNib:nib forCellWithReuseIdentifier:@'reportFilterCell'];
ReportFilterViewControllerCell *cell = [[ReportFilterViewControllerCell alloc]init];
// Set up the reuse identifier
cell = [collectionView dequeueReusableCellWithReuseIdentifier: @'reportFilterCell'
forIndexPath:indexPath];
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询