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:
- O sistema chama o método
hitTest(_:with:)na UIView raiz, passando as coordenadas do toque. - A UIView verifica se o ponto de toque está dentro dos seus limites (
point(inside:with:)). Se não estiver, retorna nil. - Se estiver, a UIView percorre as suas subviews em ordem inversa (de cima para baixo), chamando-lhes
hitTest(_:with:). - Se alguma subview retornar não nil, significa que ela deve tratar o toque.
- 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.