Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 滚动外部滚动视图,然后滚动内部滚动视图_Ios - Fatal编程技术网

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

Ios 滚动外部滚动视图,然后滚动内部滚动视图,ios,Ios,我有一个如下所示的视图: 外视野 UIImageView 内部UICollectionView 我想当用户滚动时,它应该到达外部滚动视图的末尾,开始滚动内部滚动视图,反之亦然(当用户向上滚动时,他到达内部滚动视图的顶部,然后开始滚动外部视图) 所有这些都是顺利进行的必要条件。通过平滑,我的意思是用户能够从外部滚动视图开始减速,然后减速在内部视图中移动 我希望我说得很清楚,因为这不容易解释。我很抱歉,如果这样的问题已经存在,但我找不到完全相同的。我希望能提供一个链接和/或示例 提前感谢您

我有一个如下所示的视图:

  • 外视野
    • UIImageView
    • 内部UICollectionView

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

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

我希望我说得很清楚,因为这不容易解释。我很抱歉,如果这样的问题已经存在,但我找不到完全相同的。我希望能提供一个链接和/或示例

提前感谢您的帮助:)


编辑:我不想使用包含图像的标题视图的单个集合视图来编辑,原因在此未提及。因此,我不想使用任何方法,即使用标题单元格。

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


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

为外部滚动视图指定一个
contentSize
,该值等于图像大小加上集合视图的contentSize

禁止在collectionView上滚动

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

  • 图像的变换(使您产生错觉,使其保持静止)
  • 集合视图的变换(相同)
  • 集合视图的contentOffset(这样您就有了滚动它的错觉,而不是外部滚动视图)
这样解释有点困难,特别是我很匆忙,但这是可行的,这正是我几个月前在一个正在生产的应用程序中所做的


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

有什么原因不能使用页眉视图吗?你想要达到的效果是什么?也许可以用一种更简单的方式来做。我想做一些像Instagram的个人资料标签。用户应该能够在多个集合视图之间切换,同时图像保持不变。此外,每个集合视图都有自己的集合视图控制器和布局。不幸的是,这些答案似乎不能解决您的问题,我有完全相同的问题。有什么进展吗?你有没有找到一种像使用收藏视图滚动instagram一样的方式?我也在尝试做类似的事情。我找到了一种方法,但我不推荐。我只是在图像后面放置一个标题视图,所以它被用作缓冲区。然后我观察了scrollview的contentOffset变化,这样我就改变了标题视图的高度,从0到图像的高度不等。再一次,我不推荐这种方法,因为它看起来像是一种变通方法,而且代码很难看。最后,我们改变了视图控制器的外观,所以它不再是这样了