0

팬 제스처 인식기를 사용하여 UIView에 대한 끌어서 놓기 UI를 구현하려고합니다. 나는 그 코드 조각을 가지고 있지만, 이제는 드래그 앤 드롭 로직을 사용자가 오랫동안 드래그 한 뷰를 누른 후에 만 ​​실행하려고합니다.길게 누르는 인식기가 실행 된 후에 만 ​​팬 제스처 인식기 실행

나는 아래의 질문에 코드를 구현하고 있습니다. Recognize long press and pan gesture recognizers together하지만 정확하게 원하는 것은 아닙니다. 어떤 생각?

답변

0

팬 컨트롤러를 팬 제스처 인식기의 대리인으로 설정하십시오.

gestureRecognizerShouldBegin(_:) 메소드를 구현하십시오. 길게 누르는 제스처 인식기가 작동 할 때까지 false를 반환합니다.

+0

오래 걸리는 제스처가 시작되었는지 확인하기 위해 VC의 어딘가에 플래그를 유지하나요? 아니면 더 좋은 방법이 있습니까? – 7ball

+0

국기는 합리적인 방법으로 보입니다. –

0

제목이 약간 오도 된 다른 게시물을 찾았으므로 처음에는 너무 많이 들여다 보지 않았습니다. Combine longpress gesture and drag gesture together

이미 알 수 있듯이 UILongPressGesture은 내가 원하는 드래그 앤 드롭 효과를 얻을 수 있습니다. 그건 내가 UIPanGesture을 전혀 필요로하지 않는다는 것을 의미합니다. 방금 긴 프레스 제스처의 팬 제스처에 선택기/핸들러를 사용했습니다. 긴 보도 제스처는 translation 속성이없는 경우를 제외하고, 그래서 같은 드래그 효과를 달성하기 위해

myView.center = sender.location(in: myView.superview) 

를 사용합니다.

관련 문제