Sobes.tech
Junior — Middle

Môžeš uviesť príklad, keď rámček prvku a jeho okraje nie sú rovnaké veľkosťou?

sobes.tech AI

Odpoveď od AI

V iOS-e, rámec (frame) UIView opisuje pozíciu a veľkosť prvku vzhľadom na jeho superview, zatiaľ čo hranice (bounds) opisujú vnútorný súradnicový systém samotného prvku.

Príklad, keď sa rámec a hranice nezhodujú vo veľkosti, je keď je na UIView aplikovaná transformácia, napríklad škálovanie alebo otáčanie. V takom prípade bude frame vypočítaný s ohľadom na transformáciu a môže sa líšiť od bounds.

let view = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
view.transform = CGAffineTransform(scaleX: 2, y: 2)
print(view.frame)  // rámec sa zväčší s ohľadom na škálovanie
print(view.bounds) // hranice zostanú (0,0,100,100)

Tu, bounds zostáva rovnaký, zatiaľ čo frame sa zmení, aby odrážal novú veľkosť a pozíciu po transformácii.