将UICollectionView与自定义Cell一起使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将UICollectionView与自定义Cell一起使用相关的知识,希望对你有一定的参考价值。
我想使用collectionview,为此我创建了一个自定义collectionviewcell。但是当我访问单元格的任何元素时,它结果是nil,并且它没有被赋予我给它们的值。
例如:我有一个我有标签的单元格。当我做:
cell.nameLabel?.text = contact.objectAtIndex(0) as String
它不会被分配给该值。如果删除可选的东西,应用程序崩溃错误“在展开选项值时找到nil”
这就是我设置集合视图的方式:
self.contactsCollection.tag = 112
self.contactsCollection.registerClass(CollectionCell.self, forCellWithReuseIdentifier: "collectionCell")
self.flowLayout.scrollDirection = UICollectionViewScrollDirection.Horizontal
self.flowLayout.minimumInteritemSpacing = 2.0
self.flowLayout.minimumLineSpacing = 2.0
self.contactsCollection.pagingEnabled = true
self.contactsCollection.showsHorizontalScrollIndicator = false
self.contactsCollection.collectionViewLayout = self.flowLayout
其余是collectionView的常规委托方法。
我的问题是为什么标签是零并且我分配的值没有被分配给标签?
假设您已在故事板中创建了原型单元格,请删除self.contactsCollection.registerClass(CollectionCell.self, forCellWithReuseIdentifier: "collectionCell")
通过调用它,我相信故事板中的原型被覆盖,这就是标签为零的原因。
请改用
register(nib: UINib, forCellWithReuseIdentifier)
代码将是
self.contactsCollection.register(UINib(nibName: String(describing: CollectionCell.self), bundle: Bundle(for: CollectionCell.self)), forCellWithReuseIdentifier: "collectionCell")
必须完全调用该文件,CollectionCell.xib
以上是关于将UICollectionView与自定义Cell一起使用的主要内容,如果未能解决你的问题,请参考以下文章
XCTest 与自定义 UICollectionViewCell
UICollectionview 不工作,我没有得到任何 Cell
实现类似微信表情包横向滚动翻页的功能,运用UICollectionView,自定义UICollectionViewFlowLayout,cell左右排版 ,支持多组Cell实现。
didSelectRowAtIndexPath 与自定义单元格