2009-06-15 9 views
23

beim Öffnen mit einem UIImagePickerController arbeiten und Einstellung von allowImageEditing = YES; Es gibt einen Standard-Bildausschnitt, der 320 x 320 beträgt. In meinem Fall würde ich diesen Ausschnitt auf 320 x 240 für Bilder im Querformat und 240 x 320 für Bilder im Hochformat einstellen. Ich habe jedoch keine Möglichkeit gefunden, den 320x320 Frame zu ändern, der beim Bearbeiten/Zuschneiden eines Fotos verwendet wird. Hat einer von euch einen Weg gefunden?So ändern Sie den UIImagePickerController-Crop-Rahmen

Danke!

Antwort

28

Sie müssen es selbst implementieren.

Der Picker schneidet nur 320x320.

So setzen stattdessen

allowsImageEditing = NO;

Jetzt erhalten Sie das vollständige Bild zurück. Dann müssen Sie einen View/View-Controller erstellen, der auf die gewünschten Proportionen zugeschnitten wird.

2

Dies ist die neuere Antwort mit dem notwendigen manuellen Zuschneiden Code: Manual Crop

Es gibt noch keine ist die harte Arbeit zu entkommen.

1

Sie können versuchen ShittyImageCrop. Es eignet sich zum Zuschneiden auf ein bestimmtes Seitenverhältnis. In Ihrem Fall präsentieren sie mit einem Seitenverhältnis von 4: 3 (oder 3: 4 in der Landschaft) wie folgt aus:

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

Danach können Sie einen anderen Code einfach auf die gewünschte Auflösung verwenden können, um skalieren (320x240 oder 240x320) .