请帮助,我一直在试图弄清楚为什么我的代码不起作用。我想要做的是为我的集合视图设置一个自定义标题,但似乎我注册的类似乎没有触发。 它甚至没有显示红色框。它只显示青色空白背景
我做错了什么?
以下是我的代码:
class VideoDetailController : UICollectionViewController, UICollectionViewDelegateFlowLayout {
private let headerId = "headerId"
override func viewDidLoad() {
super.viewDidLoad()
collectionView?.backgroundColor = UIColor.cyan
collectionView?.register(VideoDetailHeader.self, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: headerId)
navigationItem.title = "Hello!"
}
override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionViewCell {
let header = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: headerId, for: indexPath) as! VideoDetailHeader
return header
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
return CGSize(width: collectionView.frame.width,height:170)
}
}
class VideoDetailHeader: BaseCell {
override func setupViews() {
print("Setting up...")
super.setupViews()
backgroundColor = UIColor.red
}
}
BaseCell是UICollectionViewCell
答案 0 :(得分:0)
以上代码似乎有效: 唯一的问题是当我调用这个视图控制器时,我使用了: let layout = UICollectionViewLayout() 代替 : let layout = UICollectionViewFlowLayout()