Sobes.tech
Junior — Middle

Puoi fare un esempio in cui il bordo di un elemento e i suoi margini non corrispondono in dimensione?

sobes.tech AI

Risposta dell'AI

In iOS, il quadro (frame) di UIView descrive la posizione e la dimensione dell'elemento rispetto alla sua superview, mentre i confini (bounds) descrivono il sistema di coordinate interno dell'elemento stesso.

Un esempio in cui il quadro e i confini non coincidono per dimensione è quando viene applicata una trasformazione a un UIView, come uno zoom o una rotazione. In questo caso, il frame verrà calcolato considerando la trasformazione e può differire da bounds.

let view = UIView(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
view.transform = CGAffineTransform(scaleX: 2, y: 2)
print(view.frame)  // il quadro aumenterà considerando lo zoom
print(view.bounds) // i confini rimarranno (0,0,100,100)

Qui, bounds rimane invariato, mentre frame cambia riflettendo la nuova dimensione e posizione dopo la trasformazione.