我想做类似的事情,其中A,B和C都是不同的UICollectionViewController
。我目前的方法是手动将故事板中的单元格复制到所有不同的UICollectionViews,但它们都具有相同的自定义子类。但是,它不是用于UI开发的DRY,我必须手动更改复制每个UICollectionViewCell副本中的更改。
我知道可以使用XIB来实现这一目标,但我仍然坚持如何通过故事板或最小的Swift代码将其链接到所有UICollectionViewController
。
答案 0 :(得分:1)
@Anushik使用以下步骤使用xib创建自定义单元格并重复使用
1.与xib一起创建UICollectionViewCell子类
2.将重用标识符添加到单元格
3.在UIViewController类的viewDidLoad方法中使用register(nib:forCellWithReuseIdentifier)方法注册nib
let nib = UINib(nibName: "CustomCollectionViewCell", bundle: nil)
collectionView.register(nib, forCellWithReuseIdentifier: "CustomCell")
4.在UICollectionViewDatasource的cellForItemAt方法中使用自定义单元格
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CustomCell", for: indexPath) as! CustomCollectionViewCell
let item = items[indexPath.row]
cell.configureCell(item: item)
return cell
}