Force UIImagePickerController to Crop a Square Image

JayVDiyk picture JayVDiyk · Aug 26, 2015 · Viewed 9.2k times · Source

How do we force UIIImagePickerController to crop a square image?

I have searched all over and I haven't found a solid solution. 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);
}

Answer

Swinny89 picture Swinny89 · Aug 26, 2015

You are doing it correctly up until you receive your delegate callback, within the callback you need to specify that it's the edited image that you want to use. Please note that i'm using a different delegate method here.

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);
}