ios - 使用 `UICollectionViewCompositionalLayout` 时如何检测正交滚动事件?

标签 ios swift uicollectionview uicollectionviewlayout wwdc

在视频中 Advances in Collection View Layout - WWDC 2019 ,Apple 引入了新的“正交滚动行为”功能。我有一个几乎与 OrthogonalScrollingViewController 相同的 View Controller 在他们的example code .特别是我的收藏 View 是垂直布局的,每个部分都可以水平滚动(我使用 section.orthogonalScrollingBehavior = .groupPaging )。

我想让我的所有部分水平滚动齐声 .之前听过scrollViewDidScroll在每个水平 Collection View 上,然后手动设置其他集合的内容偏移量。但是,使用新的 orthogonalScrollingBehavior实现,scrollViewDidScroll当我水平滚动时,永远不会调用委托(delegate)。如何使用新 API 检测水平滚动事件?

如果有另一种方法可以使这些部分水平滚动,我也愿意接受其他建议。

最佳答案

您可以使用此回调:

let section = NSCollectionLayoutSection(group: group)

section.visibleItemsInvalidationHandler = { [weak self] (visibleItems, offset, env) in
}

关于ios - 使用 `UICollectionViewCompositionalLayout` 时如何检测正交滚动事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59514541/

相关文章:

ios - Xcode 4.3 纵向运行应用程序

ios - 更改 UIAlertController 文本颜色

ios - 如何将 Token Key 和 Token Secret 传递给 Alamofire 请求?

ios - `systemLayoutSizeFittingSize` 未在 iOS 13 上调用

ios - 在单元格上交互时 Collection View 不滚动

UICollectionView 无法兑现 zPosition 和 zIndex - 仅限 iOS 11

ios - SceneKit 如何绘制一个显示网格状表面而不是光滑的球体?

ios - 运行时更改 UITabBar

android - 使用 Rails Devise 的移动应用程序 webframe 身份验证

ios - Swift 无法将 NSNumber 桥接到 Int