我有一个自定义的UICollectionReusableView,HeaderCollectionReusableView,我在我的代码中使用它。而它又包含一个UILabel。当我去使用标签时由于某种原因它是零。我首先注册课程,然后我尝试用dequeue调用它。我错过了什么?
override func viewDidLoad(){
super.viewDidLoad()
collectionView?.register(HeaderCollectionReusableView.self, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: colReusableViewIdentifier)
self.collectionView?.collectionViewLayout = UICollectionViewFlowLayout()
}
@objc override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
let headerReusableView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: colReusableViewIdentifier, for: indexPath) as! HeaderCollectionReusableView
headerReusableView.headerLabel.text = "Reacshn"
return headerReusableView
}
答案 0 :(得分:2)
查看代码我假设不使用xib创建自定义可重用视图。最好的选择是
func register(_ nib: UINib?, forSupplementaryViewOfKind kind: String, withReuseIdentifier identifier: String)