iOS UIView动画(animationWithDuration :)有多个选项

时间:2012-07-12 01:38:15

标签: objective-c ios animation objective-c-blocks

我正在尝试使用UIView和多个选项实现animationWithDuration动画块。它工作正常,除了它似乎只使用我指定的选项之一而不是所有三个。我可以指定的选项数量是否有限制或某些选项组合的限制?

以下是我的代码。 “starRotator”是我正在转动的UIImageView中的UIView。我尝试在括号中包装选项,但这也不起作用。似乎只采用UIViewAnimationOptionRepeat选项而忽略其他两个选项。

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

2 个答案:

答案 0 :(得分:5)

您是否注意到您作为选项使用的两个常量包含单词“Option”,但有一个不包含?

线性曲线的正确选项常量为UIViewAnimationOptionCurveLinear,但您使用了UIViewAnimationCurveLinear

答案 1 :(得分:2)

该代码没问题,但您要使用UIViewAnimationOptionCurveLinear代替UIViewAnimationCurveLinear。后者用于UIView的旧+setAnimationCurve:方法。

尝试更改它,看看你是否还有运气。