Sobes.tech
Junior — Middle

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.