나는 하위 클래스 인 UIGestureRecognizer를 추가 한 UIView
이있는 상황에 있습니다. 다음 코드를 사용하고 있습니다.Subclassing UIGestureRecognizer 및 UILongPressGestureRecognizer
class ButtonGestureRecognizer: UIGestureRecognizer {
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
//
state = .began
}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
//
state = .ended
}
}
이 날 출시 때 다시 정상 크기로 누를 때 나는 UIView
더 큰 확장 사용하고있는 "다운"터치 "가"터치 이벤트를 캡처 할 수 있습니다.
또한이보기에 UILongPressGestureRecognizer
을 추가해야합니다.이보기에서는 누르고 있으면 확장되고 해제되면 일반 크기로 돌아가지만 다른 동작을 수행합니다.
그러나 서브 클래 싱 된 제스처 인식기는 UILongPressGestureRecognizer가 작동하지 못하게하는 것 같습니다. 내가 지금까지 찾은 유일한 해결책은 서브 클래 싱 된 제스처 인식기를 포기하고 UITapGestureRecognizer
(최소 하나의 탭으로 설정해야 함) 및 UILongPressGestureRecognizer
을 사용하는 것이지만 탭/프레스를 올바르게 감지하는 기능을 포기하고 끝 상태.
어쨌든 주위에? 감사!
제안 해 주셔서 감사합니다. 나는이 방법을 몰랐다. 'UIGestureRecognizerDelegate' 프로토콜을 준수하도록 내'UIView '를 설정하고, 참조 된 메소드를 추가하고,'UIView '를 위임자로 설정했습니다. 모든 설정이 완료되었습니다. – ZbadhabitZ