2015-08-26 21 views
10

Come forzare UIIImagePickerController a ritagliare un'immagine quadrata?Forza UIImagePickerController per ritagliare un'immagine quadrata

Ho cercato dappertutto e non ho trovato una soluzione solida. Thankyo

var imagePickerController: UIImagePickerController = UIImagePickerController(); 
imagePickerController.allowsEditing = true; 
imagePickerController.delegate = self; 
imagePickerController.sourceType = sourceType; 



func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) { 
    profilePictureSelected = true; 

    profilePictureImageView.image = image; 

    picker.dismissViewControllerAnimated(true, completion: nil); 
} 
+0

non si può forzare, è necessario ridimensionarla dopo si ottiene l'immagine dalla chiamata delegato indietro, c'è un sacco di metodi là fuori che mostrano come per ridimensionare l'immagine per una coltura piazza tagliando il più grande di larghezza o altezza – Loxx

+0

Non sono sicuro di cosa abbia a che fare Objective-C con questo. Correggi i tuoi tag. – Jasper

risposta

14

Lo state facendo correttamente fino a quando si riceve il callback delegato, all'interno della richiamata è necessario specificare che è l'immagine modificata che si desidera utilizzare. Tieni presente che sto utilizzando un metodo di delega diverso qui.

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) { 
    if let chosenImage = info[UIImagePickerControllerEditedImage] as? UIImage { 

     profilePictureSelected = true; 

     profilePictureImageView.image = chosenImage; 
    } 
    picker.dismissViewControllerAnimated(true, completion: nil); 
} 
+1

Grazie Swinny89. Questo è stato veramente utile. –

+0

Prego :) – Swinny89

+1

Questo mi consente ancora di scegliere un'immagine non quadrata .... – unixb0y