2

私はに使用SliderResizeていますRotate-

回転の場合 -

 CGAffineTransform transform = editingView.transform;
  transform =  CGAffineTransformMakeRotation(sliderVal * 2*M_PI / 30);
  editingView.transform = transform;

リサイズについて

CGAffineTransform t = CGAffineTransformMakeScale(sliderVal/30, sliderVal/30);
  CGPoint center = editingView.center; 
  [UIView animateWithDuration:0.5
                   animations:^{
                      editingView.transform = t;
                     editingView.center = center;
                   }
                   completion:^(BOOL finished) {

                   }];

上記のコードを使用すると、両方とも別々に正常に動作します。

しかしresize、ビューを回転させたり、サイズ変更したビューを回転させたりする必要があります。

を使用しているため、多くの提案が個別の動作になるのを見ました。 を使用するCGAffineTransformMakeRotationと、問題は解決します。CGAffineTransformMakeScaleCGAffineTransformScaleCGAffineTransformRotation

問題は、私が使用しているときにCGAffineTransformスケーリングが適切でViewなく、画面から消えることです。

4

2 に答える 2

3
        CGAffineTransform translate = CGAffineTransformMakeTranslation(self.webView.frame.origin.x,self.webView.frame.origin.y - self.webView.frame.size.height * 0.25);
        CGAffineTransform scale = CGAffineTransformMakeScale(0.6, 0.6);
        CGAffineTransform transform =  CGAffineTransformConcat(translate, scale);
        transform = CGAffineTransformRotate(transform, degreesToRadians(-10));

        [UIView beginAnimations:@"MoveAndRotateAnimation" context:nil];
            [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
            [UIView setAnimationDuration:2.0];

            editingView.transform = transform;

        [UIView commitAnimations];

このようにしてみてください...

于 2013-04-19T10:14:32.107 に答える