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:
- O utilizador toca na tela.
- iOS regista o evento
UITouch. - O evento é enviado para a janela principal (
UIWindow). - A janela reencaminha o evento para a cadeia de respondedores (
Responder Chain). - O toque no botão (
UIButton) é reconhecido como um eventoUIControlEventTouchUpInside. - O
UIButtoninvoca 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.