hvg*_*des 4 ios uicollectionview uicollectionviewcell
我试图定义我自己的自定义UICollectionViewCell实现并在一个中使用它UICollectionView.这就是我所做的.
1-我正在使用故事板.
2-我添加了一个UICollectionView到另一个视图,这是故事板上的一个场景.
3-我指出datasource并将delegate该集合添加到场景的控制器中.
4-我在控制器中提供了所需方法的实现.
5-我创建了一个单元格视图.h和.m文件.在.h我做的文件中
@interface HscCellView : UICollectionViewCell
6-我创建了一个新视图,所以我得到了一个新的画布,在右边的相应部分我指定了我的类名(与步骤5中相同),并提供了一个唯一的标识符.
7-在场景的控制器中,我将.h文件中的插座定义为我拖入的集合视图.
@property (nonatomic, strong) IBOutlet UICollectionView *holesCollectionView;
在viewDidLoad我做
[self.holesCollectionView registerClass:[HscCellView class] forCellWithReuseIdentifier:@"cellView"];
Run Code Online (Sandbox Code Playgroud)
请注意,这cellView是我为自定义单元格xib指定的唯一标识符.
8-最后,我实施了
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
HscCellView *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellView" forIndexPath:indexPath];
return cell;
}
Run Code Online (Sandbox Code Playgroud)
当我启动应用程序时,我得到了一堆单元格视图(9,因为我在numberOfItemsInSection消息上指定了9 )但它们不是我的自定义单元格视图.它们没有尺寸,颜色或标签.我没有看到任何错误.我被卡住了.
一些辅助问题.
我何时使用注册笔尖以及何时注册类名?我已经看到它完成了两种方式,但似乎你总是最终得到一个nib和一个类定义代码,这是真的吗?
在步骤6中,当我在画布中为自定义单元格视图指定唯一ID时,这是否意味着我不需要在该类中注册该类viewDidLoad?
hvg*_*des 11
我想,明白了.我会尝试解释它,如果我错了,希望能得到纠正.我认为这对其他人有帮助.基于我的问题的评论,我确定我的班级的实例实际上已被加载.然而,xib被忽略了.这意味着当我的类被加载时,xib没有被使用.那么,在问题的第7步中,我做到了
UINib *nib = [UINib nibWithNibName:@"HscCellView" bundle:nil];
[self.holesCollectionView registerNib:nib forCellWithReuseIdentifier:@"cellView"];
Run Code Online (Sandbox Code Playgroud)
而不是注册课程,现在事情似乎工作.
我有点好奇,因为我将xib与我的自定义类相关联,这是必要的,但我不再被卡住了.
| 归档时间: |
|
| 查看次数: |
3020 次 |
| 最近记录: |