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
闭包,以允许更复杂的配置。