捏合手势随意放大缩小

    xiaoxiao2022-06-24  40

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

        }

    }

    转载请注明原文地址: https://ju.6miu.com/read-1123577.html

    最新回复(0)