2009-06-15 8 views
23

lors de l'ouverture de travail avec un UIImagePickerController et le réglage permetImageEditing = YES; Il existe un cadre de découpe par défaut de 320x320. Dans mon cas, je voudrais configurer ce cadre de recadrage à 320x240 pour les images en mode paysage et 240x320 pour les images en mode portrait. Cependant, je n'ai pas été en mesure de trouver un moyen de changer ce cadre 320x320 qui est utilisé lors de l'édition/recadrage d'une photo. Est-ce que l'un d'entre vous a trouvé un moyen de le faire?comment modifier le cadre de recadrage UIImagePickerController

Merci!

Répondre

28

Vous devez l'implémenter vous-même.

Le sélecteur effectue uniquement un recadrage 320 x 320.

Ainsi, au lieu mis

allowsImageEditing = NO;

Maintenant, vous obtiendrez l'image complète en arrière. Ensuite, vous devrez créer un contrôleur de vue/vue qui recadra aux proportions que vous désirez.

2

Ceci est la réponse plus récente avec le code de recadrage manuel nécessaire: Manual Crop

Il n'y a toujours pas échapper au travail.

1

Vous pouvez essayer ShittyImageCrop. C'est bon pour recadrer à un rapport d'aspect spécifique. Dans votre cas, présenter avec rapport d'aspect 4: 3 (ou 3: 4 dans le paysage) comme ceci:

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

Après cela, vous pouvez utiliser un autre code à l'échelle juste à la résolution souhaitée (320x240 ou 240x320) .

Questions connexes