UICollectionReusableView内的标签总是为零

时间:2017-04-16 03:02:44

标签: ios swift xcode

我有一个自定义的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
}

1 个答案:

答案 0 :(得分:2)

查看代码我假设不使用xib创建自定义可重用视图。最好的选择是

  1. 使用xib创建自定义可重用视图。
  2. 使用以下函数在viewDidLoad中注册,即func register(_ nib: UINib?, forSupplementaryViewOfKind kind: String, withReuseIdentifier identifier: String)