Converting UIImageView Touch Coordinates to UIImag

2019-01-17 17:56发布

问题:

I'm able to determine the coordinates of a touch event on a UIImageView. I need to then convert these coordinates to the coordinates of the image being displayed - which should be different, since my image is much larger than the UIImageView and I'm scaling the image with AspectFit.

What's the best way to determine the image coordinates of a touch event given the view coordinates of a UIImageView?

回答1:

Something like this should get you going.

CGPoint imageViewPoint = [touch locationInView:imageView];

float percentX = imageViewPoint.x / imageView.frame.size.width;
float percentY = imageViewPoint.y / imageView.frame.size.height;

CGPoint imagePoint = CGPointMake(image.size.width * percentX, image.size.height * percentY);

Assuming the UIImageView is called imageView the UITouch is called touch and the UIImage is called image.