【问题标题】:Synchronized horizontal scrolling of collection views in tableview rows表视图行中集合视图的同步水平滚动
【发布时间】:2014-09-22 21:27:25
【问题描述】:

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

示例图片: 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】:

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

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

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

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

【讨论】:

  • 谢谢@Acey,我现在要试试这个。我假设我通过 TableView 的 visibleCells 运行快速枚举来设置每个人的 contentOffset,这是正确的吗?
  • 是的。假设您使用的是自定义子类,您可能需要从每个单元格中公开 collectionView。
  • 你是男人中的神阿西。我预计该功能需要很长时间才能添加。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2020-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
相关资源
最近更新 更多