小编Jos*_*old的帖子

Swift:如何有选择地返回集合视图部分的标题?

我有一个UICollectionViewDiffableDataSource这样的:

var data:UICollectionViewDiffableDataSource<Section, Message>!
Run Code Online (Sandbox Code Playgroud)

我像这样定义节标题的布局:

let header = NSCollectionLayoutBoundarySupplementaryItem(
    layoutSize: .init(widthDimension: .fractionalWidth(1.0), heightDimension: .estimated(10)),
    elementKind: UICollectionView.elementKindSectionHeader,
    alignment: .top
)
section.boundarySupplementaryItems = [header]
Run Code Online (Sandbox Code Playgroud)

最后,为了返回我的标头,我有一个返回UICollectionReusableView类似以下内容的函数:

func setupHeaderData() {
    data.supplementaryViewProvider = { collectionView, kind, indexPath in
        return DateStampBuilder(data: self.data, style: self.style).build(collectionView: collectionView, kind: kind, indexPath: indexPath)
    }
}
Run Code Online (Sandbox Code Playgroud)

很棒的是:我可以在我的UICollectionView.

我想要什么:我如何可以选择不显示特定部分的特定标题?

当我尝试nil在以下函数中返回时:

data.supplementaryViewProvider = { collectionView, kind, indexPath in
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'the view returned from -collectionView:viewForSupplementaryElementOfKind:atIndexPath …
Run Code Online (Sandbox Code Playgroud)

ios uicollectionview swift uicollectionviewcompositionallayout uicollectionviewdiffabledatasource

7
推荐指数
1
解决办法
5464
查看次数