UICollectionView 显示为空白 - 单元格不显示

Posted

技术标签:

【中文标题】UICollectionView 显示为空白 - 单元格不显示【英文标题】:UICollectionView appears blank - cells don't show 【发布时间】:2015-11-10 23:30:15 【问题描述】:

我已经设置了一个带有自定义单元格 XIB 的 UICollectionView。我已经适当地设置了委托、数据源方法,但是在加载集合视图时显示为空白并带有黑屏:

这是我注册自定义 xib 单元格的代码:

    [self.collectionView registerClass:[CustomViewCell class] forCellWithReuseIdentifier:@"cvCell"];

委托/数据源方法:

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView    
return 2;


-(NSInteger)collectionView:(UICollectionView *)collectionView  numberOfItemsInSection:(NSInteger)section 
return 4; 

-(CustomViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 

static NSString *cellIdentifier = @"cvCell";
CustomViewCell *cell = (CustomViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];

return cell;


我还为自定义 xib 单元格设置了类:

编辑:

集合视图布局设置为:

    UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setItemSize:CGSizeMake(50, 29)];
[flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];

[self.collectionView setCollectionViewLayout:flowLayout];

50,29是指实际自定义视图xib单元格的大小

【问题讨论】:

您的 collectionViewLayout 设置为什么?看起来要么有问题,要么你的所有单元格都是透明的。 你把集合控制器添加到窗口了吗? 我通过 IB 添加了集合视图并连接到 VC 中的一个插座。还要设置datasource和delegate给符合UICollectionViewDataSource的VC,delegate。 【参考方案1】:

您应该注册自定义单元格的 nib 而不是类。

UINib *cellNib = [UINib nibWithNibName:@"cvCell" bundle:nil];
[self.collectionView registerNib:cellNib forCellWithReuseIdentifier:@"cvCell"];

【讨论】:

注册类通常应该可以正常工作,虽然是正确的,但它不会使用他的 xib,所以它只是分配/初始化一个 CustomViewCell 而没有来自 xib 的任何内容。在这些情况下,所有内容都必须添加到 CustomViewCell 代码中。 @CarlLindberg - 你是说我必须执行上述操作才能正确加载自定义单元格 xib 及其所有元素? @user1686342 是的,因为您在 nib 文件中创建单元格的 UI,因此您必须将该 nib 文件注册到集合视图。 好的,我刚刚完成了,但仍然没有解决问题

以上是关于UICollectionView 显示为空白 - 单元格不显示的主要内容,如果未能解决你的问题,请参考以下文章

为 UICollectionView 设置一个新的 collectionViewLayout 给空白屏幕

UICollectionView初始滞后,PagingEnabled = true

UICollectionView 中的节标题,仅出现第一个

具有自定义布局的 UICollectionView 变为空白

UICollectionView 随机不显示单元格

iOS UICollectionView横向滑动并且横向加载数据