我有一个UICollectionView,我想在其Cells / Items中添加平移手势。当我以通常的方式添加手势时,UICollectionView不会滚动。
这就是我添加手势的方式
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell:UICollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath)
let panGesture = UIPanGestureRecognizer(target: self, action: #selector(CaptureViewController.pagesCollectionViewItemPanEvent(_:)))
cell.addGestureRecognizer(panGesture)
return cell;
}
这里有什么不对吗?有人可以告诉我一种方法来完成我的工作。任何帮助将受到高度赞赏。
答案 0 :(得分:1)
您应该将手势添加到集合视图中,而不是添加到单元格本身。 有点像...
let panGesture = UIPanGestureRecognizer(target: self, action: "handlePanGesture:")
collectionView.addGestureRecognizer(panGesture)
func handlePanGesture(gesture: UIPanGestureRecognizer) {
let locationInView = gesture.locationInView(collectionView)
...
}
答案 1 :(得分:0)
只是提案,我没有对其进行测试:
创建自定义单元格:
class PanCell: UICollectionViewCell {
override func awakeFromNib() {
let panGesture = UIPanGestureRecognizer(target: self, action: #selector(self.pagesCollectionViewItemPanEvent(_:)))
self.addGestureRecognizer(panGesture)
}
}
您可以使用该委派通知CaptureViewController
。