0

スライダーを使用して画像を回転させようとしていますが、ピンチジェスチャを使用してそのimageViewをズームインまたはズームアウトし、スライダーを使用して回転させようとすると、imageViewのフレームのサイズが元のフレームに変更されてから回転します。 .iズーム操作を実行した後に新しい画像ビューを回転させたい...ここに私のコードがあります。

//for rotation
- (IBAction)sliderChanged:(id)sender
 {
    imageView.transform = CGAffineTransformMakeRotation(Slider.value * 2*M_PI / Slider.maximumValue);
 }
//for  zoom in zoom out
- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer 
{

    recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform,       recognizer.scale, recognizer.scale);
    recognizer.scale = 1;

}
4

2 に答える 2

1

handlePinch既存の変換を正しく変更しますが、新しいsliderChanged変換を作成すると、スケーリングが失われます。

于 2012-09-24T14:35:02.727 に答える
1

あなたはスケールを維持していません。動作するものの例:

-(IBAction)zoomIn:(id)sender{
     x += 0.3;
    CGAffineTransform t;
    t=CGAffineTransformMakeRotation(degrees*M_PI/180);
    imageView.transform=CGAffineTransformScale(t, x, x);
 }

CGAffineTransformScaleでrecognizer.view.transformを使用しています。imageView.transformを使用してみてください

于 2012-09-24T14:36:14.907 に答える