2013-05-14 149 views
2

我有,看起来像下面的图:滚动外滚动视图,然后滚动内

  • 外的UIScrollView
    • 的UIImageView
    • 内UICollectionView

enter image description here

我想当用户滚动时,它应该到达外部滚动视图的结尾,并开始滚动内部滚动视图,反之亦然(当用户向上滚动时,他到达内部滚动视图的顶部,然后开始滚动外观)。

这一切都需要平稳。通过平滑,我的意思是用户能够从外部滚动视图开始减速,然后减速在内部视图内移动。

我希望我很清楚,因为解释起来并不那么容易。如果这样的问题已经存在,我很抱歉,但我找不到完全一样的问题。我会很感激链接和/或例子。

在此先感谢您的帮助:)

编辑:我不喜欢用头视图中的单个集合视图做到这一点,包含图像,至于原因,这里没有提到。所以我不想使用任何使用标题单元格的方法。

+0

是否有任何理由不能使用标题视图?你试图达到什么效果?也许它可以以更简单的方式完成。 – Fogmeister 2013-05-14 14:48:14

+0

我想做一些类似Instagram的Profile标签。用户应该能够在图像保留的同时在几个集合视图之间切换。另外,每个集合视图都有自己的集合视图控制器和它自己的布局。 – Martin 2013-05-14 15:23:44

+0

不幸的是,这些答案似乎并没有解决你的问题,我有相同的问题。任何进展? – tuddy 2013-07-01 20:47:34

回答

0

在您的图片中,您看起来像有一个带节标题视图的UICollectionView

它不需要任何特殊的滚动视图或任何东西。顶部的图片只是收藏视图的部分标题。

+0

我编辑了我的问题。 – Martin 2013-05-14 14:42:52

1

给外面的scrollView一个contentSize,这等于你的图像的大小加上你的集合视图的contentSize。

禁止在collectionView上滚动。

实现你的外滚动视图的委托scrollViewDidScroll方法更新:

  • 图像的变换(让你有错觉它静止不动)
  • 集合视图的转换(下同)
  • 集合视图的contentOffset(这样你就可以幻想你滚动它,而不是外部滚动视图)。

这样的解释有点困难,特别是我很着急,但这是可行的,这正是我几个月前在一个正在生产的应用中完成的方式。

这实际上具有将外部滚动视图的惯性“转移”到内部collectionView的效果,这是我认为你想要的。