Junior — Middle
¿Puedes dar un ejemplo en el que el marco de un elemento y sus bordes no coincidan en tamaño?
sobes.tech AI
Respuesta de la IA
En iOS, el marco (frame) de UIView describe la posición y tamaño del elemento en relación con su supervista, mientras que los límites (bounds) describen el sistema de coordenadas interno del propio elemento.
Un ejemplo en el que el marco y los límites no coinciden en tamaño es cuando a un UIView se le aplica una transformación, como escalado o rotación. En este caso, el frame se calculará teniendo en cuenta la transformación y puede diferir 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) // el marco aumentará considerando el escalado
print(view.bounds) // los límites permanecerán en (0,0,100,100)
Aquí, bounds permanece igual, mientras que frame cambia reflejando el nuevo tamaño y posición tras la transformación.