- (void)pinchAction:(UIPinchGestureRecognizer *)sender {
if (sender.state == UIGestureRecognizerStateEnded) {
CGRect rect = self.imagev.frame;
self.imagev.transform = CGAffineTransformIdentity;//重置坐标
self.imagev.frame = rect;
} else if (sender.state == UIGestureRecognizerStateBegan) {
CGPoint pinchCenter = [sender locationInView:sender.view];
CGPoint previousAnchorPoint = self.imagev.layer.anchorPoint;
CGPoint newAnchorPoint = CGPointMake(pinchCenter.x / self.imagev.frame.size.width, pinchCenter.y / self.imagev.frame.size.height);
CGPoint previousPosition = self.imagev.layer.position;
CGPoint newPosition = CGPointZero;
newPosition.x = previousPosition.x + (newAnchorPoint.x - previousAnchorPoint.x) * self.imagev.frame.size.width;
newPosition.y = previousPosition.y + (newAnchorPoint.y - previousAnchorPoint.y) * self.imagev.frame.size.height;
self.imagev.layer.position = newPosition;
self.imagev.layer.anchorPoint = newAnchorPoint;
} else {
self.imagev.transform = CGAffineTransformMakeScale(sender.scale, sender.scale);
}
}