CollectionViewCell 问题。从 .xib 到自定义 collectionviewcell 的故事板转换

Posted

技术标签:

【中文标题】CollectionViewCell 问题。从 .xib 到自定义 collectionviewcell 的故事板转换【英文标题】:CollectionViewCell issue. From .xib to storyboard transition for custom collectionviewcell 【发布时间】:2016-04-02 08:54:21 【问题描述】:

我有一个自定义的 TagCollectionViewCell,它是一个自定义的 UICollectionViewCell。在 .xib 时代,我曾经通过 UINib 进行实例化,但现在使用 Storyboard 我一无所知。

	UINib *cellNib = [UINib nibWithNibName:@"TagCollectionViewCell" bundle:nil];
	[self.collectionView registerNib:cellNib forCellWithReuseIdentifier:@"TagCell"];
	
	
	_sizingCell = [[cellNib instantiateWithOwner:nil options:nil] objectAtIndex:0];

在情节提要中,我将笔尖粘贴到 .storyboard 中,并为其指定了指定的自定义类。但我得到一个白屏。这是我的自定义收藏单元格,我希望它成为故事板。

我应该在集合视图 cell_for_item_atindexpath 中进行哪些更改。 .xib 的代码如下。

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

	TagCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TagCell" forIndexPath:indexPath];
	
	[self _configureCell:cell forIndexPath:indexPath];
	
	return cell;

配置布局是这样的。

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath

	[self _configureCell:_sizingCell forIndexPath:indexPath];
	
	return [_sizingCell systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];

【问题讨论】:

嗨。请参阅下面的答案 【参考方案1】:

您也可以将自定义集合视图单元与故事板一起使用。

创建 UICollectionViewCell 的子类。

设置数据源和委托。

按照图片中的建议在情节提要中设置类和标识符。

【讨论】:

是的,我已经做到了。我在 cellForItemAtIndexPath 中遗漏了什么吗?使用故事板时会有所不同。考虑 "dequeueReusableCellWithReuseIdentifier" ,我将提供情节提要中使用的标识符,我做到了,我还缺少什么。 我明白了!我需要将其类型转换为 (TagCollectionViewCell*)【参考方案2】:

您是否为您的 CollectionView 设置了数据源和委托。最常见的错误之一。如果需要更多帮助,请告诉我。

【讨论】:

是的,我怎么能忘记。

以上是关于CollectionViewCell 问题。从 .xib 到自定义 collectionviewcell 的故事板转换的主要内容,如果未能解决你的问题,请参考以下文章

CollectionViewCell 边距?

Swift - 从 CollectionViewCell 中的 UIButton 推送到 ViewController

如何使用 FlipAnimation 从每个 CollectionViewCell 打开一个新的 ViewController 并关闭 Swift 3

为啥不去 CollectionViewCell?

如何为 collectionviewcell 内的进度条创建 IBOutlet?

嵌套在 CollectionViewCell 中的 TableView