Sobes.tech
Intern

Como as aplicações respondem aos toques nos botões?

sobes.tech IA

Resposta da IA

O evento touch enviado pelo sistema operativo é processado.

Processo:

  1. O utilizador toca na tela.
  2. iOS regista o evento UITouch.
  3. O evento é enviado para a janela principal (UIWindow).
  4. A janela reencaminha o evento para a cadeia de respondedores (Responder Chain).
  5. O toque no botão (UIButton) é reconhecido como um evento UIControlEventTouchUpInside.
  6. O UIButton invoca o método manipulador associado a este evento (target/action).

Exemplo:

// Associar target/action ao evento "toque dentro do botão"
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)

// Definir o método manipulador
@objc func buttonTapped() {
    // Lógica a executar após o toque no botão
    print("Botão pressionado!")
}

Cadeia de respondentes (Responder Chain):

  • UIView (botão)
  • Superview (superview) do botão
  • Controlador de visualização (UIViewController)
  • Janela (UIWindow)
  • Delegado da aplicação (UIApplicationDelegate)

O evento sobe pela cadeia até que seja tratado ou rejeitado. UIButton normalmente trata o touchUpInside por si próprio.