컬렉션보기에 doubleTap 제스처 또는 다른 기능을 추가하여 선택한 셀에 첨부 된 파일을 다운로드하려고합니다.TapGesture within collectionView
나는 두 번 탭 제스처 인식기가 작동하고 콜렉션 뷰 내부를 두 번 탭하면 포인트가 인쇄됩니다. 그러나 셀을 두 번 탭하면 내장 된 제스처 인식기가 적용되고 didSelectItemAt가 실행됩니다.
didSelectItemAt에서 코드를 트리거하지 않고 두 번 탭을 추가하는 방법이 있습니까 ?? 또는 viewController에 단추를 추가하지 않고도이 기능을 구현할 수있는 다른 방법에 대한 아이디어가 있습니까?
let doubleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(didDoubleTap))
doubleTap.numberOfTapsRequired = 2
self.collectionView.addGestureRecognizer(doubleTap)
그리고 내 doubleTap 기능 : : 참고로
func didDoubleTap(gesture: UITapGestureRecognizer) {
let point: CGPoint = gesture.location(in: self.collectionView)
print(point)
if let selectedIndexPath: IndexPath = self.collectionView.indexPathForItem(at: point) {
let selectedCell: UICollectionViewCell = self.collectionView.cellForItem(at: selectedIndexPath as IndexPath)!
print("cell \(selectedCell) was double tapped")
}
}
, 내가 시도
이
내가 컬렉션 뷰를 가지고의 ViewController의있는 viewDidLoad에서 함께 연주하고있는 제스처 코드 이 셀 자체에 추가하지만 작동시키지 못했습니다. 셀은 사용자 지정 UICollectionViewCell이며 viewDidLoad 함수가 없으므로 제스처를 만들려면 컬렉션 뷰를 보유하는 viewController에서 제스처를 설정하는 코드를 호출하는 대리자를 만들어야하고 오류가 발생했습니다.
감사합니다. 좋은 간단한 해결책입니다. – Pippo