首页 > 解决方案 > 在所有 tableviewcell 中滚动所有 CollectionViewCell

问题描述

我正在创建一个自定义 Tableviewcell,其中包含 CollectionView。在 tableview 单元格中滚动 CollectionView 时,我希望其他 CollectionViews 中的单元格自动滚动。

我该如何实现呢? “参数”和“单元”是 Tableview 单元格内的 UILabel,“标签”是 UITableviewCell 内“Collectioniew”的 uiLabels

标签: iosswiftuitableviewuicollectionview

解决方案


两者UICollectionViewUITableView都是 的子类,UIScrollView因此您可以执行以下操作之一来操作滚动:

  • 设置contentOffset在他们身上,或者,
  • 利用func scrollToItem(at: IndexPath, at: UICollectionView.ScrollPosition, animated: Bool)

你做什么取决于你希望你的用户界面如何工作。

假设每个 tableview 单元格包含一个集合,基本技术将是:

  1. 当用户滚动内部集合时,您可以使用UIScrollViewDelegate委托方法检测到这一点func scrollViewDidScroll(UIScrollView)。还有其他 UIScrollViewDelegate方法在这里也有帮助。

  2. 将检测到的内容偏移/位置更改应用于(可见)表格视图单元格中的所有其他集合。


推荐阅读