Junior — Middle
Como é que se podem definir limites para o tratamento de toques num elemento UIView?
sobes.tech IA
Resposta da IA
Para definir os limites de deteção de toques numa UIView, pode sobrescrever o método point(inside:with:). Este método determina se o ponto de toque está dentro da área onde o UIView deve responder aos toques. Por padrão, verifica se o ponto está dentro dos limites (bounds).
Exemplo de sobrescrita para ampliar a área de toque em 20 pontos ao redor da view:
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
let margin: CGFloat = 20
let largerBounds = bounds.insetBy(dx: -margin, dy: -margin)
return largerBounds.contains(point)
}
Assim, pode-se diminuir ou aumentar a área que responde aos toques, definindo os seus próprios limites.