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.origineste poziția relativă față de părinte. -
bounds — este un dreptunghi care descrie coordonatele interne ale elementului însuși. De obicei,
bounds.origineste (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.