2

私は UIView を持っており、指定された T 時間内に N 回の回転で中心点を中心に回転させたいと考えています。そして回転数を徐々に落としていきます。(回転ホイールのように) . 以下のコードがあり、正しく動作していません。

   float T = 5; // 5 seconds
   float rotations = 10;
   //_containerView is the view to be rotate

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:T];
    [UIView setAnimationRepeatCount:0];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
    CGAffineTransform t = CGAffineTransformRotate(_containerView.transform, (2*M_PI*rotations + 0));
    _containerView.transform = t;
    [UIView commitAnimations];
4

1 に答える 1

0
#define StartAnimation(duration) [UIView beginAnimations:nil context:NULL];    \
[UIView setAnimationDuration:duration];       \
[UIView setAnimationRepeatAutoreverses:NO];   \
[UIView setAnimationRepeatCount:0]

#define StopAnimation [UIView commitAnimations]

これらのマクロを定義して使用する

StartAnimation(<time>)
//your code
StopAnimation
于 2013-01-09T17:31:10.710 に答える