同时滚动多个CollectionViews

时间:2016-11-23 22:20:20

标签: ios objective-c uitableview uiscrollview uicollectionview

我有一个带有20个tableViewCells的tableView,在每个单元格中我插入一个水平滚动的collectionView(有100个单元格)。我希望在滚动任何collectionViews时滚动所有collectionView。

实施

我已经将collectionView子类化并覆盖了scrollView委托。

我目前已采用以下方法:

  1. 当滚动任何CollectionView时,我获取所有可见的tableViewCells并获取每个单元格中的collectionsViews并迭代地或使用makeObjectsPerformSelector设置collectionView contentOffsets。

  2. 有一个带有观察者的CGPoint属性,该属性在属性发生变化时触发;然后在collectionView子类内部scrollViewDidScroll:我设置了属性,这将触发观察者并相应地设置collectionView。 (collectionView contentOffset设置在observeValueForKeyPath:ofObject:change:context:)

  3. 我还使用NSNotificationCenter来播放任何滚动并依次滚动每个其他听众

  4. 我面临的问题是,集合视图滚动有时会出现故障,特别是当滚动停止时。目前在collectionView单元格中没有数据,但它有毛刺。

    请有人知道如何同时滚动多个collectionView而不会出现故障。

    提前致谢。

0 个答案:

没有答案