0

私は次のようなコアアニメーションを使用してみました:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    [UIView animateWithDuration:2.0 delay:0.0 options:UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveLinear animations:^{ CGAffineTransform transform = CGAffineTransformMakeRotation(3.14);
        self->inner.transform = transform;
    } completion:NULL];
}

これにより、outerと呼ばれるUIImageViewが回転しますが、360度の回転はスムーズに完了しません。3/4くらいでジャンプします。PIでローテーションするべきではありませんか?

回転方向を変更したい場合、どうすればよいですか?分で時計回りに回転します。

ありがとう

4

1 に答える 1

7

他の誰かがいつでもこれを必要とする場合:

//outer ring
CABasicAnimation *fullRotationAnimation;
fullRotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
fullRotationAnimation.fromValue = [NSNumber numberWithFloat:0.0f];
fullRotationAnimation.toValue = [NSNumber numberWithFloat:2 * M_PI];
fullRotationAnimation.duration = 4;
fullRotationAnimation.repeatCount = 5000;
//fullRotationAnimation.cumulative = YES;
[self->outer.layer addAnimation:fullRotationAnimation forKey:@"360"];
于 2012-08-13T16:59:20.430 に答える