gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:54:29 25 4
gpt4 key购买 nike

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

这是我的动画对象代码:

[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。而是编写一种方法来执行动画的单个循环。然后添加一个完成方法块,该块以递归方式调用该方法。

您还可以将要触发的方法调用放到完成块中的动画的每次迭代中。

关于ios - 每次动画重复时调用一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20637621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com