我已添加Long gesture
这样:
longPress = UILongPressGestureRecognizer(target: self, action: #selector(handleLongGesture))
longPress.minimumPressDuration = 0.25
collectionview.addGestureRecognizer(longPress)
如何删除长手势?
答案 0 :(得分:0)
您可以在单元格准备好显示之前删除手势。
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
if let gesture = cell.gestureRecognizers?.filter({ (gesture) -> Bool in return gesture is UILongPressGestureRecognizer }).first {
cell.removeGestureRecognizer(gesture)
}
}
答案 1 :(得分:0)
您正在为整个集合视图添加手势识别器。
所以,如果你只想让一个单元格不响应长手势,那么对于那个特定单元格禁用手势识别器(使用touchesBegan回调来检查单元格内发生的触摸事件,如果是,请按代码处理事件你希望)。
如果您想在多个单元格上使用此功能,请为每个需要识别器的单元格添加手势识别器。