iphone - Ritaglia UIImage per adattarsi a un'immagine del frame




2 Answers

In Interface Builder, utilizzare la seguente configurazione:

Esistono due impostazioni importanti, vale a dire:

  1. Mode: Aspect Fill

  2. Clip Subviews

Può anche essere fatto a livello di codice:

[imageView setContentMode:UIViewContentModeScaleAspectFill];
[imageView setClipsToBounds:YES];

Ciò riempirà correttamente la vista con l'immagine, manterrà le sue proporzioni e nasconderà ciò che non si adatta.

Devo ritagliare una UIImage , scattata con la fotocamera del dispositivo, in modo che si adatti a un altro UIImage , che rappresenta una frame (con bordi arrotondati e così via). Controlla l'immagine qui sotto:

Uso di Aspect Fill

Utilizzo di Aspect Fit

Quindi, ciò di cui ho bisogno è rimuovere l'eccesso di immagine fuori dai limiti del fotogramma. Ho provato a utilizzare UIBezierPath , CGImageRef e altri metodi che ho cercato su Google ma non trovo una soluzione per questo.




In Interface Builder, accedi al menu Mode all'interno del riquadro dei dettagli (il quarto) e scegli quello giusto per UIImageView (suppongo "center" o "aspect fit").

VECCHIA RISPOSTA:

È possibile utilizzare la proprietà contentGravity di CALayer per farlo funzionare

Una costante che specifica in che modo il contenuto del livello viene posizionato o ridimensionato all'interno dei suoi limiti.

       @property(copy) NSString *contentsGravity



Related