もう1つのCABasicAnimationを終了した後で実行するにはどうすればよいですか?言い換えれば順番に。私は2番目のアニメーションの時間を開始追加しました、しかし、第二のアニメーションが実行されますしないようです:CABasicAnimationを連続して実行しています
CABasicAnimation * appearance =[CABasicAnimation animationWithKeyPath:@"transform.translation.y"];
appearance.duration = 0.5;
appearance.fromValue = [NSNumber numberWithFloat:0];
appearance.toValue = [NSNumber numberWithFloat:340];
appearance.repeatCount = 1;
appearance.fillMode = kCAFillModeForwards;
appearance.removedOnCompletion = NO;
[notif.layer addAnimation:appearance forKey:@"transform.translation.y"];
CABasicAnimation * theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.y"];
theAnimation.duration = 0.5;
theAnimation.fromValue = [NSNumber numberWithFloat:0];
theAnimation.toValue = [NSNumber numberWithFloat:10];
theAnimation.repeatCount = 3;
theAnimation.autoreverses = YES;
theAnimation.fillMode = kCAFillModeForwards;
theAnimation.removedOnCompletion = NO;
theAnimation.beginTime = appearance.beginTime + appearance.duration;
[notif.layer addAnimation:theAnimation forKey:@"transform.translation.y"];
任意のアイデアなぜですか?
動作しませんでした。..animationDidStopが無限に呼び出されました – adit
両方のコードをコピーしましたか?彼らは同じではありません。 –
ループがある場合は、2番目のアニメーションもアニメーションDidStopも呼び出すように、2番目のアニメーションのデリゲートを設定していないことを確認してください。 – isaac