0

画像のピンチに GestureRecognizer デリゲートを使用しています。ピンチには UIPinchGestureRecognizer デリゲートを使用しました。でも、zoomInをつまむと問題ありません。特定のレベルをズームアウトすると、画像が表示されなくなります。

コード:

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;

}
4

1 に答える 1

0

これを行う :

 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];

そして、それはすべて(イン/アウト)で機能するはずです。

于 2013-07-09T12:19:38.507 に答える