CollectionView 是 UICollectionView 的 SwiftUI 封装。
您是否曾经想完全使用 SwiftUI 构建一个应用,但使用 Grid、Lazy_Stack 和 Lazy_Grid 带来的处理性能损失过于显著? 希望您能坚持使用 SwiftUI,但仍然获得 UICollectionView 的处理能力? 那么就试试 CollectionView 吧!
它是 UICollectionView 的 SwiftUI 封装,它公开了所有 UICollectionViewDelegate/UICollectionViewDataSourcePrefetching 委托函数(通过视图修饰符)。 此外,在 iOS 16+ 上,您可以使用 UIHostingConfiguration 将 SwiftUI 视图用于单元格。
此外,通过将您的数据源作为 Binding 传递,它使用 UICollectionViewDiffableDataSource 更新视图的更改。 这也意味着它不会在每次更改时完全重新加载视图,而是由 UICollectionView 在内部重新加载它们。
它仍然是一个正在进行中的项目(尤其是在测试所有内容 + 编写文档方面),但请尝试一下并向我发送反馈!
.ignoresSafeArea()。UICellConfigurationState。NSCollectionView 的支持。CollectionView 没有进行不必要的自我更新?或者是因为它是 RepresentableView 所以才不会?cellRegistrationHandler 从主初始化器中重构出来,并替换为 UICollectionViewDiffableDataSource<Section, Item>.CellProvider 闭包,以允许更复杂的配置。