Junior — Middle
Pouvez-vous donner un exemple où la bordure d'un élément et sa marge ne correspondent pas en taille?
sobes.tech IA
Réponse de l'IA
En iOS, le cadre (frame) de UIView décrit la position et la taille de l'élément par rapport à sa superview, tandis que les limites (bounds) décrivent le système de coordonnées interne de l'élément lui-même.
Un exemple où le cadre et les limites ne correspondent pas en taille est lorsque une transformation est appliquée à un UIView, comme un zoom ou une rotation. Dans ce cas, le frame sera calculé en tenant compte de la transformation et peut différer de bounds.
let view = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
view.transform = CGAffineTransform(scaleX: 2, y: 2)
print(view.frame) // le cadre sera agrandi en tenant compte du zoom
print(view.bounds) // les limites resteront à (0,0,100,100)
Ici, bounds reste inchangé, tandis que frame change pour refléter la nouvelle taille et position après la transformation.