不同的节标题取决于集合视图中的节

时间:2016-11-08 03:19:04

标签: swift

我有一个集合视图,需要根据我的集合视图的哪个部分显示不同类型的标题。

但是,当我将第二个可重复使用的视图添加到我的故事板时,它会自动将其作为我的页脚视图。

我的集合视图有两种不同的节标题吗?

1 个答案:

答案 0 :(得分:0)

您必须以编程方式dequeue headerView以编程方式执行此操作。类似下面的内容将对您有所帮助:

override func collectionView(_ collectionView: UICollectionView,
                         viewForSupplementaryElementOfKind kind: String,
                         at indexPath: IndexPath) -> UICollectionReusableView {

    switch kind {
    case UICollectionElementKindSectionHeader:
        var headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind,
                   withReuseIdentifier: "HeaderOne",
                   for: indexPath) as! HeaderOneView
        if sectionTwo {
            headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind,
                   withReuseIdentifier: "HeaderTwo",
                   for: indexPath) as! HeaderTwoView
        }

        return headerView
    default:
        assert(false, "Unexpected element kind")
   }
}

此外,您可能必须使用此function register(_:forSupplementaryViewOfKind:withReuseIdentifier:)来注册不是通过storyboard创建的视图。