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
。相反,请编写一个方法来执行动画的单个循环。然后添加一个递归调用该方法的完成方法块
还可以将要在动画的每次迭代中激发的方法调用放在完成块中