4

複数のオプションを使用してUIViewアニメーションブロックを実装しようとしています。animationWithDuration3つすべてではなく、指定したオプションの1つだけを使用しているように見えることを除いて、正常に機能しています。指定できるオプションの数に制限はありますか、またはオプションの特定の組み合わせに制限はありますか?

以下は私のコードです。「starRotator」は私が回転しているものですUIImageViewUIViewオプションを括弧で囲んでみましたが、それもうまくいきませんでした。オプションを選択するだけでUIViewAnimationOptionRepeat、他の2つは無視されるようです。

[UIView animateWithDuration:30.0 
                      delay:0.0 
                    options:UIViewAnimationCurveLinear | UIViewAnimationOptionRepeat | UIViewAnimationOptionBeginFromCurrentState
                 animations:^{
                     starRotator.superview.transform = CGAffineTransformMakeRotation(M_PI);
                 }
                 completion:^(BOOL finished){ }
 ];
4

2 に答える 2

5

オプションとして使用している定数のうち 2 つには「Option」という単語が含まれていますが、1 つには含まれていません。

線形曲線の正しいオプション定数は ですUIViewAnimationOptionCurveLinearが、 を使用しUIViewAnimationCurveLinearました。

于 2012-07-12T01:51:58.450 に答える
2

UIViewAnimationOptionCurveLinearの代わりに使用することを除いて、そのコードは問題ありませんUIViewAnimationCurveLinear。後者は、UIView の古い+setAnimationCurve:メソッドで使用するためのものです。

それを変更してみて、さらに運があるかどうかを確認してください。

于 2012-07-12T01:52:41.137 に答える