2009-06-15 9 views
23

quando si apre il lavoro con un UIImagePickerController e si impostaImageEditing = YES; esiste un frame di ritaglio predefinito 320 x 320. Nel mio caso, mi piacerebbe impostare quel fotogramma di ritaglio a 320x240 per le immagini che sono orizzontali e 240x320 per le immagini che sono verticali. Tuttavia, non sono stato in grado di trovare un modo per modificare il frame 320x320 che viene utilizzato quando si modifica/ritaglia una foto. Qualcuno di voi ha trovato un modo per farlo?come modificare il frame di ritaglio UIImagePickerController

Grazie!

risposta

28

Devi implementarlo da solo.

Il selettore esegue solo il ritaglio 320x320.

Così, invece impostato

allowsImageEditing = NO;

Ora si otterrà l'immagine completa indietro. Quindi dovrai creare un controller vista/vista che ritaglierà le proporzioni che desideri.

2

Questa è la risposta più recente, con il necessario codice di ritaglio manuale: Manual Crop

C'è ancora sfuggire al duro lavoro.

1

Si può provare ShittyImageCrop. È buono per il ritaglio con proporzioni specifiche. Nel tuo caso, presentare con aspect ratio 4: 3 (o 3: 4 nel paesaggio) come questo:

let cropVC = ShittyImageCropVC(frame: (self.navigationController?.view.frame)!, image: imageToCrop, aspectWidth: 4, aspectHeight: 3) 
self.navigationController?.present(cropVC, animated: true, completion: nil) 

Dopo di che è possibile utilizzare qualche altro codice per scalare solo che risoluzione desiderata (320x240 o 240x320) .

Problemi correlati