自定义UICollectionViewLayout标题和故事板

时间:2016-07-17 18:03:49

标签: ios swift uicollectionview

我在故事板中创建了一个UICollectionViewController以及集合视图的标题。

我正在使用名为UICollectionViewLayout的第三方CHTCollectionViewWaterfallLayout。在为标头调用collectionView(_:viewForSupplementaryElementOfKind:atIndexPath:)时,kindCHTCollectionElementKindSectionHeader而不是UICollectionElementKindSectionHeader,程序崩溃并告诉我我没有为CHTCollectionElementKindSectionHeader注册课程。说得通。但是如果我以编程方式为CHTCollectionElementKindSectionHeader注册一个类,我就不会从故事板中获益,因为程序在初始化标题而不是initWithFrame:时会调用initWithCoder

有没有办法解决这个问题,我可以某种方式使用我在故事板中为CHTCollectionElementKindSectionHeader创建的内容?

1 个答案:

答案 0 :(得分:0)

我今天遇到了一个非常类似的问题,发现我必须更改我的标题单元格注册:

collectionView.registerClass(
    UICollectionReusableView.self,
    forSupplementaryViewOfKind: UICollectionElementKindSectionHeader,     
    withReuseIdentifier: headerId
)

collectionView.registerClass(
     UICollectionReusableView.self, 
     forSupplementaryViewOfKind: layout.CHTCollectionElementKindSectionHeader, 
     withReuseIdentifier: headerId
)

希望这是有帮助的,我一直在墙上撞了几个小时,而我在寻找帮助时才发现你的问题。

注意:布局定义如上let layout = CHTCollectionViewWaterfallLayout()