仅在滑动期间将触摸从最顶部的UIView传递到基础UICollectionView

问题描述

我有一个类型为topBarView的{​​{1}},它是我的水平UIView的模拟头。

这是我的约束/布局设置:

  1. collectionView的顶部&& topBarView的top = superView.top

  2. collectionView的UICollectionView = topBarView.height

  3. sectionInset.top宽度= collectionView的topBarView

  4. contentSize.width前导=-(collectionView的topVarView(要使其滚动)

  5. contentOffset.x在前面,而我的collectionView在后面

要描绘它,这是它的示例实现:

topBarView =“模拟标题

Sample Implementation to get a proper understanding

要做的就是让我平移topBarView顶部的topBarView添加UITapGestureRecognizer时使collectionView滚动。

我尝试过的事情:

  1. 当我的UILongPressGestureRecognizer禁用了用户交互功能时,它会滚动,但是由于我具有轻击手势和长按手势,因此这并不是一个选择。

  2. 也无法使用Hit-test方法,因为我有一个特殊的用例,在该用例中,我只需要将滑动指令定向到基础的collectionView,其余事件由{{1 }}。还是可以?!

  3. topBarView上使用topBarView手动处理滚动不是一个好主意,因为我已经覆盖了collectionView流布局的UIPanGestureRecognizer方法。 (我认为这不是一个好主意,因为我必须完美地复制collectionView的行为)

我暂时通过将collectionView的topBarView分配给我的整个Superview来解决这个问题。 (因为那是我想要做的)

这样做可以使所有内容滚动显示不会丢失任何手势,但是从长远来看,我不确定这是否是个好主意。任何帮助/线索克服这一点将不胜感激!

PS:

我没有使用已经提供的collectionView的标题代替我的targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint,withScrollingVeLocity veLocity: CGPoint),因为我有很多理由会干扰这个问题的上下文。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)