화면 주위를 이동하고 녹화 할 수있는 작은보기가 있습니다. 그래서 나는 UIPanGestureRecognizer 그것을 이동하고, UITapGestureRecognizer 지금처럼 탭 이벤트를 수신하기 위해 추가UIPanGesture가 작동하지만 UITapGesture가 UIView에서 작동하지 않습니다.
let panner = UIPanGestureRecognizer(target: self, action: #selector(panDidFire(panner:)))
playerViewController.view.addGestureRecognizer(panner)
let tapper = UITapGestureRecognizer(target: self, action: #selector(viewTapped(tapper:)))
playerViewController.view.addGestureRecognizer(tapper)
그리고
func viewTapped(tapper: UITapGestureRecognizer){
fadeInButtons()
}
func panDidFire(panner: UIPanGestureRecognizer) {
let offset = panner.translation(in: view)
panner.setTranslation(CGPoint.zero, in: view)
var center = playerViewController.view.center
center.x += offset.x
center.y += offset.y
playerViewController.view.center = center
}
이 panDidFire() 함수가 때 호출되는
같은 파일에서 작업을 만듭니다 사용자가 팬하지만 viewTapped() 함수는 전혀 호출되지 않습니다.트릭이 있습니까? 내가 도대체 뭘 잘못하고있는 겁니까? 이것에 대해 다른 방법이 있습니까?
난 당신이보기에 다른 제스처 인식기와 함께 작동 할 수 인식기로 설정해야 신속 3
제스처가 서로 충돌합니까? '패너에게 전화 해. requireGestureRecognizerToFail (tapper)'를 사용하여 tapper가 제스처에서 첫 번째 dib를 가져 오도록합니다. – NRitH
이것의 대부분은 좋아 보이지만, 왜 당신의 제스처를 (let을 통해) 당신의 메소드와 동일한 이름으로 만들었습니까? 또한 메소드 코드를 게시하여 디버깅에 도움이 될 수 있습니다. – dfd
panner.requireGestureRecognizerToFail (tapper)이 아무 것도하지 않는 것 같습니다. 메서드 이름을 변경하려고 시도하고 메서드 코드를 포함하도록 게시물을 편집합니다. – cpatmulloy