0

メソッドを使用して UIImageViews のフレームを変更CGAffineTransformし、親ビューで setNeedsDisplay を呼び出しています。これは正しく機能します。変換のみが非常に厳格です。

アニメーションをスムーズにするにはどうすればよいですか? 二次補間を調べましたが、どうすればよいかわかりません。これらをスケーリングまたは回転させているため、UIImageView に設定する次の値を計算しますが、ポイントがわからない場合は補間を適用する場所がわかりません。

currentRotation 値と currentScale 値があり、メソッドに供給されると次の値を取得できますが、一方から他方へと段階的にアニメーション化する方法がわかりません。

4

1 に答える 1

0

それをカプセル化しようとしました+animateWithDuration:delay:options:animations:completion:か?私のアプリの1つにこのようなものがあり、スムーズに動作します:

[UIView animateWithDuration:2.0f
                      delay:0.0f
                    options:UIViewAnimationOptionCurveEaseInOut
                 animations:^ {
                     _chevronImageView.transform = CGAffineTransformMakeRotation((int)(arc4random() % 100));
                 }
                 completion:nil];

編集:-drawRect:メソッドでこれを呼び出します。

于 2013-05-29T14:56:20.370 に答える