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.