滚动外部滚动视图,然后滚动内部

时间:2013-05-14 14:10:11

标签: ios

我的观点如下所示:

  • 外部UIScrollview
    • 的UIImageView
    • 内部UICollectionView

enter image description here

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

所有这一切都是顺利的。通过平滑,我的意思是用户能够从外部滚动视图开始减速,然后减速度在内部视图中移动。

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

提前感谢您的帮助:)

编辑:我不想用包含图片的标题视图的单个集合视图来执行此操作,原因在此处未提及。所以我不想使用任何使用标题单元格的方法。

2 个答案:

答案 0 :(得分:1)

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

禁止在collectionView上滚动。

实现外部scrollView的委托scrollViewDidScroll方法进行更新:

  • 图像的变换(让你保持静止的幻觉)
  • 集合视图的变换(相同)
  • 集合视图的contentOffset(这样你就有了滚动它的错觉,而不是外部的scrollView)。

有点难以解释,特别是我很着急,但这是可行的,这正是我几个月前在一个正在制作的应用程序中完成它的方式。

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

答案 1 :(得分:0)

在您的图片中,您看起来有一个UICollectionView,其中包含一个部分标题视图。

它不需要任何特殊的滚动视图或任何东西。顶部的图像只是集合视图的节头。