各位高手好,
想问一下关于UIPanGestureRecognizer的问题
我设计一个collectionView 在上面移动cell时,会触发cell的手势
这是一个新增图片在画面上拖动的功能
我想让我再对cell进行手势的时候 collection也可以上下滑动
目前想到的解法有:
1.我利用cell的delegate gestureRecognizerShouldBegin
去判断我的手势移x比较多还是y比较多,如果y比较多就回传false
让collectionView接收手势
结果:效果不错,不过我想要调整得更好,因为使用者斜著使用时会常常无法触发cell手势
2.我在我的cell手势里加入了程式码,
当y变动时使collectionView.contentOffsey.y与其相等
这个方法等于我直接将collection上下滑动的功能自己写在自订手势里面
不晓得有没有方法可以直接呼叫collectionView的手势
结果:做出来是我想要的结果没错,不过在拉到最上面和最下面的时候是直接卡住的,
如果真的要写成原本的效果可能需要花不少时间
3.覆写hitTest
我不知道该怎么实现我需要的功能,我试过return superView
会变成说只有我的collectionView能够操作
试过用collctionView.subviews 去抓cell不过我的手势写在controller里
需要和其他的view互动
是不是我的架构有问题呢?
4.使用collectionView delegate 的 scrollViewWillBeginDragging
我想利用这个方法去抓我控制哪一个cell在执行函式
不过我好像没办法抓到我的手势,他得参数不是UIpanGestureRecognizer
不晓得有什么方法可以让cell得手势执行又让collection拖动的
写得有点冗长,希望不会造成阅读上的麻烦
还是用第四个方法覆写touch去抓座标阿,刚刚想到我明天再试试看...