Existem diferenças entre as propriedades Frame e Bounds de um elemento gráfico?
sobes.tech IA
Resposta da IA
No iOS, os elementos gráficos (UIView) têm propriedades frame e bounds que descrevem coisas diferentes:
-
frame: é um retângulo que descreve a posição e o tamanho do elemento nas coordenadas do seu superview (vista pai). Ou seja,
frame.originé a posição relativa ao pai. -
bounds: é um retângulo que descreve as coordenadas internas do próprio elemento. Normalmente,
bounds.originé (0,0), e o tamanho corresponde ao tamanho do elemento.
Exemplo:
Se você mover o elemento, seu frame.origin muda. Se alterar bounds, por exemplo, deslocando seu origin, o conteúdo do elemento se moverá dentro dele, mas o próprio elemento permanecerá no lugar.
Assim, frame é responsável pela posição e tamanho no sistema de coordenadas do pai, e bounds pelo sistema de coordenadas interno do próprio elemento.