各位高手好,
想問一下關於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去抓座標阿,剛剛想到我明天再試試看...