Sobes.tech
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.