Junior — Middle
Můžeš uvést příklad, kdy rámec prvku a jeho okraje nejsou ve velikosti shodné?
sobes.tech AI
Odpověď od AI
V iOS popisuje rámeček (frame) UIView, který popisuje polohu a velikost prvku vzhledem k jeho superview, zatímco hranice (bounds) popisují vnitřní souřadnicový systém samotného prvku.
Příklad, kdy se rámeček a hranice neshodují ve velikosti, je když je na UIView aplikována transformace, například škálování nebo otáčení. V takovém případě bude frame vypočítán s ohledem na transformaci a může se lišit 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ámeček se zvětší s ohledem na škálování
print(view.bounds) // hranice zůstanou (0,0,100,100)
Zde bounds zůstává stejný, zatímco frame se změní tak, aby odrážel novou velikost a pozici po transformaci.