通过种类切换Collectionviews页眉/页脚

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过种类切换Collectionviews页眉/页脚相关的知识,希望对你有一定的参考价值。

我的CollectionView中有一个页眉和一个页脚,我希望它们都能显示出来。在当前状态下,我获得2个Header,因为Section的“kind”不会自动更改,并且它会两次进入“UICollectionElementKindSectionHeader”的情况。

我可以切换indexPath而不是那种,但我想知道另一种方法。

func setupCollectionView() {
    collectionView?.backgroundColor = .white
    collectionView?.register(ProfileHeader.self, forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: ProfileHeader.reuseIdentifier)
    collectionView?.register(ProfileFooter.self, forSupplementaryViewOfKind: UICollectionElementKindSectionFooter, withReuseIdentifier: ProfileFooter.reuseIdentifier)
}

override func numberOfSections(in collectionView: UICollectionView) -> Int {
    return 2
}

override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
    switch kind {
    case UICollectionElementKindSectionHeader:
        let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: ProfileHeader.reuseIdentifier, for: indexPath) as! ProfileHeader
        header.user = self.user
        return header

    case UICollectionElementKindSectionFooter:
        let footer = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: ProfileFooter.reuseIdentifier, for: indexPath) as! ProfileFooter
        return footer

    default:
        assert(false, "Unexpected element kind")
    }
}
答案

原因是我忘了定义页脚的引用大小。如果没有它,那种应用程序就无法察觉。

以上是关于通过种类切换Collectionviews页眉/页脚的主要内容,如果未能解决你的问题,请参考以下文章

excel表格怎么设置页眉页脚 xcel表格如何设置页眉页脚

如何在Excel中添加页眉页脚?

如何在Excel中设置页眉和页脚

如何从pdf文件中查找页眉页脚

将 iFrame 设置为固定页脚和页眉之间的全高

Word怎样从第三页开始设置页码