iOS コア アニメーション「CABasicAnimation」を使用して UIImageView をアニメーション化していますが、すべて正常に動作しますが、唯一の問題は、その位置にアニメーション化すると、アニメーションが完了した後、元の位置に戻ることです。どうすればこれを克服できますか?UIImageView を移動した位置に保持する必要があります。
注:これに関して成功の答えがある質問はほとんど見たことがありませんが、彼らが言うように機能しない理由がわかりません。
CABasicAnimation を使用して CALayer を回転させた後、レイヤーは回転していない位置に戻ります。
ここに私のサンプルコードがあります、
CGPoint endPt = CGPointMake(160, 53);
CABasicAnimation *anim5 = [CABasicAnimation animationWithKeyPath:@"position"];
[anim5 setBeginTime:CACurrentMediaTime()+0.4];
anim5.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
anim5.fromValue = [NSValue valueWithCGPoint:imgRef.layer.position];
anim5.toValue = [NSValue valueWithCGPoint:endPt];
anim5.duration = 1.5;
anim5.speed = 2;
[imgRef.layer addAnimation:anim5 forKey:@"position"];
//this is what other answers ask to do
[anim5 setFillMode:kCAFillModeForwards];
[anim5 setRemovedOnCompletion:NO];
ところで[imgRef.layer setPosition:CGPointMake(160, 53)];
、私はアニメーションを 4 ミリ秒遅らせているので、役に立ちません。