带sectionHeaderView的UICollectionView

  1. headerView继承UICollectionReusableView
    实现CHTCollectionViewDelegateWaterfallLayout,UICollectionViewDataSource协议

  2. collectionView register HeaderView

  collectionView.registerClass(FLSearchHomeHeaderReusableView.self, forSupplementaryViewOfKind: CHTCollectionElementKindSectionHeader, withReuseIdentifier: "HeaderView")

3.重写viewForSupplementaryElementOfKind方法

    func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {

      var reusableview:UICollectionReusableView?

      // kind 还有CHTCollectionElementKindSectionFooter值
      if kind == CHTCollectionElementKindSectionHeader {

          let headerView = collectionView.dequeueReusableSupplementaryViewOfKind(CHTCollectionElementKindSectionHeader, withReuseIdentifier: "HeaderView", forIndexPath: indexPath) as! FLSearchHomeHeaderReusableView

          switch indexPath.section {
          case 0:
              headerView.nameLabel.text = "热门标签"
              headerView.colorView.backgroundColor = FL.Style.tomatoRedColor
              break
          case 1:
              headerView.nameLabel.text = "食物分类"
              headerView.colorView.backgroundColor = FL.Style.tomatoRedColor
              break
          default:
              break
          }

          reusableview = headerView
      }

      return reusableview!
  }

4.设置sectionHeaderView的高度

    func collectionView(collectionView: UICollectionView!, layout collectionViewLayout: UICollectionViewLayout!, heightForHeaderInSection section: Int) -> CGFloat {
        return 70
    }

你可能感兴趣的:(带sectionHeaderView的UICollectionView)