UIImageView
アプリを最小化して(ホームボタン、別のアプリの入力など)、再入力した後、アニメーションを作成してアニメーションを再開/開始させようとしています。私のviewDidLoad
メソッドでは、アニメーション、必要なパス、および回転を作成するために次のことを行います。
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, startX, startY);
CGPathAddCurveToPoint(path, NULL, startX, startY, curvePoint1X, curvePoint1Y, endX, endY);
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
animation.duration = duration;
animation.path = path;
animation.repeatCount = HUGE_VALF;
[imageView.layer addAnimation:animation forKey:@"theAnimation"];
[UIView animateWithDuration:duration delay:0.0 options:0
animations:^{
[UIView setAnimationRepeatCount:HUGE_VALF];
[UIView setAnimationBeginsFromCurrentState:YES];
imageView.transform = CGAffineTransformMakeRotation(M_PI);
}
completion:NULL];
うまく機能しますが、ホームボタンを押してアプリに戻ると、アニメーションが再生されず、ビューが元の位置にあります。アプリを再起動したときにこのアニメーションを再開するように設定するにはどうすればよいですか?アニメーションを最初から始めなければならないかどうかは気にしません。私もNSTimer
自分のアプリで実行していて、再開することを知っています。そこでチェックを実行してアニメーションを再開することを考えていましたが、それが最善の解決策かどうかはわかりません。