Ios 每次动画重复时调用一个方法

Ios 每次动画重复时调用一个方法,ios,objective-c,uikit,uianimation,Ios,Objective C,Uikit,Uianimation,我需要在动画重复之前调用某个方法。 我不知道该把那行代码放在哪里 这是我制作对象动画的代码: [UIView animateWithDuration:speed delay:delay options:UIViewAnimationOptionAllowUserInteraction|UIViewAnimationOptionCurveLinear|UIViewAnimationOptionRepeat

我需要在动画重复之前调用某个方法。 我不知道该把那行代码放在哪里

这是我制作对象动画的代码:

[UIView animateWithDuration:speed
                      delay:delay
                    options:UIViewAnimationOptionAllowUserInteraction|UIViewAnimationOptionCurveLinear|UIViewAnimationOptionRepeat
                 animations:^(void){

                     cloud.frame = (CGRectMake(cloud.frame.origin.x, cloud.frame.origin.y+600, cloud.frame.size.width, cloud.frame.size.height));

                 }completion:^(BOOL finished){
                     if (finished){
                         [cloud setBackgroundImage:[UIImage imageNamed:@"cloudWhite.png"] forState:UIControlStateNormal];
                     }
                 }];
完成部分中调用的方法不会在每次重复之前执行,而只会在整个动画以及所有重复完成之后执行,在本例中,这是永远不会执行的


我的问题是,在每次动画重复之前如何调用方法?

我建议重构动画,使其不使用
UIViewAnimationOptionRepeat
。相反,请编写一个方法来执行动画的单个循环。然后添加一个递归调用该方法的完成方法块


您还可以将希望在动画的每次迭代中激发的方法调用放在完成块中。

我建议重构动画,使其不使用
UIViewAnimationOptionRepeat
。相反,请编写一个方法来执行动画的单个循环。然后添加一个递归调用该方法的完成方法块

还可以将要在动画的每次迭代中激发的方法调用放在完成块中