https://developer.apple.com/documentation/uikit/uitapgesturerecognizer
"A discrete gesture recognizer that interprets single or multiple taps."
단일 혹은 다중 탭을 해석하는 이산적 제스쳐 리코그나이저입니다.
@MainActor class UITapGestureRecognizer : UIGestureRecognizer
UITapGestureRecognizer
는 UIGestureRecognizer
의 구체화된 서브클래스입니다.
제스쳐 인식에서 구체화된 손가락의 수가 뷰를 구체화된 횟수만큼 탭해야 합니다. 탭은 이산적인 제스쳐일지라도 제스쳐 리코그나이저의 각 상태에서 이산적입니다. 시스템은 제스쳐가 시작할 때 관련이 있는 액션 메시지를 보내고, 제스쳐의 엔딩 상태일 때까지 중간 상태 각각을 다시 보냅니다. 탭 제스쳐를 처리하는 코드는 제스쳐의 상태를 테스트해야 합니다. 예를 들면 아래와 같습니다.
func handleTap(sender: UITapGestureRecognizer) {
if sender.state == .ended {
// handling code
}
}
이 제스처를 처리하는 액션 메소드는 제스쳐의 위치 전체를 가져올 수 있습니다. 이는 UIGestureRecognizer
메소드 location(in:)
를 호출하는 것을 통해 이뤄집니다. 만약 다중 탭이 존재하는 경우 이 위치는 첫 번째 탭입니다. 다중 터치가 존재하는 경우 뷰를 탭하는 모든 손가락의 중심이 위치입니다. 클라이언트는 탭에서 특정 터치의 위치를 가져올 수 있으며, location(ofTouch:in:)를 호출하는 것을 통해 가져옵니다. 다중 탭이 허용되는 경우 위치는 첫 번째 탭입니다.