Sobes.tech
Junior — Middle

Există diferențe între proprietățile Frame și Bounds ale unui element grafic?

sobes.tech AI

Răspuns de la AI

În iOS, elementele grafice (UIView) au proprietățile frame și bounds care descriu lucruri diferite:

  • frame — este un dreptunghi care descrie poziția și dimensiunea elementului în coordonatele supervizorului său (vizual părinte). Cu alte cuvinte, frame.origin este poziția relativă față de părinte.

  • bounds — este un dreptunghi care descrie coordonatele interne ale elementului însuși. De obicei, bounds.origin este (0,0), iar dimensiunea corespunde cu dimensiunea elementului.

Exemplu:

Dacă muți elementul, se schimbă frame.origin. Dacă modifici bounds, de exemplu, mutând origin-ul său, conținutul elementului se va deplasa în interiorul său, dar elementul însuși va rămâne pe loc.

Prin urmare, frame răspunde de poziție și dimensiune în sistemul de coordonate al părintelui, iar bounds de sistemul de coordonate intern al elementului.