我试图定义自己的自定义UICollectionViewCell
实现,并在UICollectionView
中使用它。这就是我所做的。
我在用故事板。
2-我在另一个视图中添加了一个UICollectionView
,这是故事板上的一个场景。
3-我将集合的datasource
和delegate
指向现场控制器。
4-我在控制器中提供了所需方法的实现。
我创建了一个单元格视图.h
和.m
文件。在.h
文件中
@interface HscCellView : UICollectionViewCell
6-我创建了一个新视图,因此我得到了一个新的画布,在右边的适当部分,我指定了类名(与步骤5相同),并提供了唯一的标识符。
7-在场景控制器中,我在.h文件中为我拖入的集合视图定义了一个出口。
@property (nonatomic, strong) IBOutlet UICollectionView *holesCollectionView;
在viewDidLoad
里我有
[self.holesCollectionView registerClass:[HscCellView class] forCellWithReuseIdentifier:@"cellView"];
注意,cellView
是我为我的自定义单元格xib指定的唯一标识符。
最后,我实现了
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
HscCellView *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellView" forIndexPath:indexPath];
return cell;
}
当我启动应用程序时,我会得到一堆单元格视图(9,因为我在numberOfItemsInSection
消息中指定了9),但它们不是我的自定义单元格视图。它们没有大小、颜色或标签。我没看到任何错误。我卡住了。
一些附带的问题。
viewDidLoad
中注册该类发布于 2013-01-14 06:47:19
明白了,我想。我会尽力解释,如果我错了,希望能得到纠正。我认为这对其他人是有帮助的。根据我问题中的评论,我确定我的类实例实际上是被加载的。然而,xib却被忽视了。这意味着在加载我的类时,没有使用xib。所以,在问题的第七步,我知道
UINib *nib = [UINib nibWithNibName:@"HscCellView" bundle:nil];
[self.holesCollectionView registerNib:nib forCellWithReuseIdentifier:@"cellView"];
而不是注册类,现在看来一切正常。
我有点好奇为什么,因为我把xib和我的自定义类联系在一起,这是必要的,但是我不再被困住了。
https://stackoverflow.com/questions/14319678
复制相似问题