for(NSInteger i = 0; i < 10; i++)
{
....
singleThread = [[NSThread alloc] initWithTarget:self selector:@selector(changeLayerBackground) object:nil];
[singleThread start];
}
次のような関数changeLayerBackground:
- (void) changeLayerBackground
{
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
animation.delegate = self;
......
[layer addAnimation:selectionAnimation forKey:@"animation"];
}
この関数はanimationDidStop:finished:
、ループ全体が終了した後にのみ呼び出されることがわかりました。
誰かがこれについて何か考えがありますか?
さて、これは、アニメーションのデリゲートがビューコントローラである自己であるためだと思いました。また、アニメーションはスレッドによって呼び出されるため、デリゲートは機能しません。しかし、私はそれを変更する方法がわかりません。スレッドを代わりに使用しようとしましたが、それでも機能しません。
どんな体でも私を助けることができますか?
私の目標は、アニメーションが呼び出されているときに、アニメーションが終了するまでループを一時停止してから、ループを続行することです。ループが終了するまで。