Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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 仅在刷卡期间将触摸从最顶端的UIView传递到基础UICollectionView_Ios_Swift_Uicollectionview_Uicollectionviewlayout - Fatal编程技术网

Ios 仅在刷卡期间将触摸从最顶端的UIView传递到基础UICollectionView

Ios 仅在刷卡期间将触摸从最顶端的UIView传递到基础UICollectionView,ios,swift,uicollectionview,uicollectionviewlayout,Ios,Swift,Uicollectionview,Uicollectionviewlayout,我有一个UIView类型的topBarView,它充当我的水平UICollectionView的模拟标题 以下是我的约束/布局设置: collectionView的top&&topBarView的top=superView.top collectionView的部分插图.top=topBarView.height topBarViewwidth=collectionView的contentSize.width topVarViewleading=-(collectionView的conte

我有一个
UIView
类型的
topBarView
,它充当我的水平
UICollectionView
的模拟标题

以下是我的约束/布局设置:

  • collectionView的top&&topBarView的top=superView.top

  • collectionView的
    部分插图.top
    =topBarView.height

  • topBarView
    width=collectionView的
    contentSize.width

  • topVarView
    leading=-(collectionView的
    contentOffset.x
    (使其滚动)

  • topBarView
    在前面,而my collectionView在后面

  • 下面是它的一个示例实现:

    topBarView
    =“模拟标题”

    当我在
    topBarView
    上平移时,我所要做的就是让我的collectionView滚动,topBarView有一个
    UIAppgestureRecognitizer
    和一个
    UILongPressgestureRecognitizer

    我尝试过的事情:

  • 当my
    topBarView
    禁用用户交互时,它会滚动,但由于我有轻触手势和长按手势,因此这不是一个真正的选项

  • 因为我有一个特殊的用例,我只需要将滑动指向底层的collectionView,并让
    topBarView
    处理其余的事件,所以无法使用命中测试方法。或者我可以吗

  • 使用
    topBarView
    上的
    UIPangestureRecognitor
    手动处理滚动不是一个好主意,因为我已经覆盖了collectionView流布局的
    targetContentOffset(forProposedContentOffset proposedContentOffset:CGPoint,使用CrollingVelocity:CGPoint)
    方法。(我不认为这是一个好主意,因为我必须完全复制collectionView的行为)

  • 我通过将collectionView的
    PangestureRecognitor
    分配给我的整个superview暂时解决了这个问题。(这正是我要做的)

    这样做使所有内容都可以滚动而不丢失任何手势,但我也不确定这是否是一个长期的好主意。任何帮助/线索都将不胜感激

    附言:

    我没有使用已经提供的collectionView的标题而不是我的
    topBarView
    ,因为我有很多理由会干扰这个问题的上下文