3

我的视图如下所示:

  • 外部 UIScrollview
    • UIImageView
    • 内部 UICollectionView

在此处输入图像描述

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

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

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

在此先感谢您的帮助 :)

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

4

2 回答 2

1

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

禁止在 collectionView 上滚动。

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

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

像这样解释有点困难,尤其是我很着急,但这是可行的,这正是我几个月前在目前正在生产的应用程序中所做的方式。

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

于 2013-05-14T14:49:39.727 回答
0

在您的图像中,您似乎有一个UICollectionView带有部分标题的视图。

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

于 2013-05-14T14:32:10.477 回答