表格视图行中集合视图的同步水平滚动

问题描述 投票:0回答:1

我正在尝试同步表视图中所有集合视图的滚动(请参阅下面的图像链接):

示例图片: http://postimg.org/image/dduhr89e5/

我找到的示例解释了如何通过识别每个滚动视图来同步两个单独的滚动视图。但是,我不确定当每个集合视图位于表视图中时如何识别它们。可能有 1 个或数百个都需要同步。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
  if ([scrollView isEqual: theFirstScrollView])
  {
        theSecondScrollView.contentOffset =
              CGPointMake(theFirstScrollView.contentOffset.x, 0);
  }
  else
  {
        theFirstScrollView.contentOffset = 
              CGPointMake(theSecondScrollView.contentOffset.x, 0);
  }
}
ios uitableview uiscrollview uicollectionview
1个回答
4
投票

假设每个集合视图都有自己的单元格,并且集合视图的宽度相似(或者至少您已经弄清楚了该部分),这是我将使用的方法:

1) 让您的 VC 成为所有集合视图的委托。

2)当其中任何一个滚动时,遍历TableViews的visibleCells并设置单元格collectionView的内容偏移量。另外,将内容偏移量存储在 viewController 中。

3) 每当新单元出队时,将内容偏移设置为 VC 中最后存储的值。

© www.soinside.com 2019 - 2024. All rights reserved.