0

Im using GestureRecognizer delegate for pinching for images. I used UIPinchGestureRecognizer delegate for pinching. But, when i pinch zoomIn it doesn't have any problem. When i zoomOut certain level the images are gone from view.

code:

UIPinchGestureRecognizer *pinchGesture1 = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(ahandlePinch1:)];

 [myImageView addGestureRecognizer:pinchGesture1];

-(void)ahandlePinch1:(UIPinchGestureRecognizer*)sender {



    mCurrentScale += [sender scale] - mLastScale;
    mLastScale = [sender scale];

    if (sender.state == UIGestureRecognizerStateEnded)
    {
        mLastScale = 1.0;
    }

    CGAffineTransform currentTransform = CGAffineTransformIdentity;
    CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, mCurrentScale, mCurrentScale);
    myImageView.transform = newTransform;

}
user2474320
  • 315
  • 1
  • 5
  • 17

1 Answers1

0

Do this :

 if([pinch state] == UIGestureRecognizerStateEnded)
    {

        lastScale = 1.0;
        return;
    }

    CGFloat scale = 1.0 - (lastScale - [pinch scale]);

    CGAffineTransform currentTransform = myImageView.transform;
    CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);

    [myImageView setTransform:newTransform];

    lastScale = [pinch scale];

And it should work for everything (in / out).

soryngod
  • 1,827
  • 1
  • 14
  • 13