Junior — Middle
Como é que se podem tratar eventos de toque em objetos que herdam de UIResponder?
sobes.tech IA
Resposta da IA
O tratamento de eventos de toque em objetos que herdam de UIResponder ocorre através da substituição de métodos de tratamento de eventos, como touchesBegan(_:with:), touchesMoved(_:with:), touchesEnded(_:with:) e touchesCancelled(_:with:). Esses métodos são chamados pelo sistema durante os eventos de toque correspondentes.
Por exemplo, para tratar um toque, pode-se substituir o método touchesBegan no seu UIView ou UIViewController:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesBegan(touches, with: event)
if let touch = touches.first {
let location = touch.location(in: self.view)
print("Toque na posição: \(location)")
}
}
Também é possível usar UIGestureRecognizer para um tratamento mais conveniente de gestos, mas se precisar de um evento de toque de baixo nível, os métodos UIResponder são o método principal.