I'm using a UIImagePicker to get the user to take a photo. When the photo is taken, I want them to pan and zoom the image around to fit inside the cropped box so that the image is stored as a square.
However, when cropping the image, it seems as though you cannot move it to the top and bottom of a (portrait) image (left and right if landscape).
I have tried searching but there doesn't seem to be much information, but it seems like a massive issue.
Can someone help?
This is the very small amount of code I'm using:
let imagePicker = UIImagePickerController() imagePicker.allowsEditing = true imagePicker.sourceType = UIImagePickerControllerSourceType.camera present(imagePicker, animated: true, completion: nil) There's obviously more code but this is the main part.
EDIT with photo:
So I want to be able to move the photo around/zoom in to select any square portion to save. However, I cannot move it from this position/ keeps snapping back.
I can zoom in, but it still restricts me from the top and bottom edges.
Again, it works with the photoLibrary.
3 Answers
Answers 1
This is a bug that was introduced in iOS 6 and hasn't been fixed yet.
A radar was raised in 2012 for this but closed by Apple. I managed to get it opened again and have been pestering Apple devs in my contacts for the past 6 months.
http://openradar.appspot.com/12318774
Until this is fixed by Apple the only option is to use a third party control or do it yourself.
Here is the radar I opened...
Answers 2
I know you said it already zooms but you may just need to adjust the bounds for that.
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { image.image = info[UIImagePickerControllerEditedImage] as? UIImage self.dismiss(animated: true, completion: nil) } You may also need to use CGRect to set the image correctly in the screen. It should be centered. If you are using and iphone 5 the dimensions 640 x 1136.
This happens because the width or the height of the image gets maxed out to the screen.
Answers 3
I have used the solution provided at below link:-
https://github.com/Hipo/HIPImageCropper
It handles the landscape and potrait allignment of the image and provides zoom in and zoom out with crop functionality.
Hope this helps.

0 comments:
Post a Comment