强制 UIImagePickerController 裁剪方形图像

Force UIImagePickerController to Crop a Square Image

我们如何强制 UIImagePickerController 裁剪方形图像?

我找遍了都没有找到可靠的解决方案。谢谢

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

在收到委托回调之前,您一直在正确执行此操作,在回调中您需要指定它是您要使用的已编辑图像。请注意,我在这里使用了不同的委托方法。

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

为Swift4

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
       viewController.dismiss(animated: true, completion: { () -> Void in
           if let image = info[UIImagePickerControllerEditedImage] as! UIImage {
               yourUIImageView.image = image
           }
       })
}