0

我的方法-(void)animationStart包含很多[self performSelector:@selector(myAnimation) withObject:nil afterDelay: 21 * 0.01];不同的方法和延迟。

如何重构我的代码不使用performSelector?我用它来使动画随之改变。

4

1 回答 1

2

您不指定具体如何执行动画本身,但使用UIView 动画块您还可以指定延迟。( animateWithDuration:delay:options:animations:completion:)。

或者,您可以NSTimer用于执行延迟。

但是要获得详细的答案,您应该提供有关如何执行动画的更多详细信息。

更新

使用动画块非常简单......在完成块(见下面的代码)中,您可以启动后续动画(对于一系列动画)。对于并行动画处理,您只需启动多个动画块......有不同的消息。如果你不需要处理动画结束,你可以使用那些没有完成块的。

这是一个例子:

[UIView animateWithDuration:2.0 delay:0.1 options:UIViewAnimationOptionCurveEaseInOut animations:^{

    // perform animation code here

} completion:^(BOOL finished) {

    // This code is performed after the animation is completed. E.g. you can start a new animation here
    // (for serial animation processing):

}];
于 2013-09-20T08:07:49.867 回答