Sobes.tech
Junior — Middle

Como é que a aplicação determina qual a parte da interface deve responder ao toque?

sobes.tech IA

Resposta da IA

No iOS, para determinar qual parte da interface deve responder ao toque, utiliza-se o mecanismo de hit-testing. Quando o utilizador toca na tela, o sistema começa pela vista raiz (UIView) e verifica recursivamente qual a subvista que está sob o ponto de toque.

O processo inclui os seguintes passos:

  1. O sistema chama o método hitTest(_:with:) na UIView raiz, passando as coordenadas do toque.
  2. A UIView verifica se o ponto de toque está dentro dos seus limites (point(inside:with:)). Se não estiver, retorna nil.
  3. Se estiver, a UIView percorre as suas subviews em ordem inversa (de cima para baixo), chamando-lhes hitTest(_:with:).
  4. Se alguma subview retornar não nil, significa que ela deve tratar o toque.
  5. Se nenhuma subview for adequada, a própria UIView é retornada.

Desta forma, a aplicação determina exatamente qual elemento da interface está sob o dedo do utilizador e pronto para receber o evento.