私はこのようなことをしています:
CABasicAnimation* translateA = [CABasicAnimation animation];
translateA.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
translateA.fillMode = kCAFillModeBoth;
translateA.duration = 1;
CALayer* nextLayer = <some layer...>
[nextLayer addAnimation:translateA forKey:@"position.y"];
newPos = nextLayer.position;
newPos.y += someDelta;
nextLayer.position = newPos;
そして、何が起こるかというと、レイヤーが最終位置にほぼ「ジャンプ」し、アニメーションが開始されるのです。私の推測では、「ほぼジャンプ」は、実際には「位置」の元の暗黙のアニメーションです (持続時間は非常に短い)。また、position.y の代わりに position を置き換えてみました。また、レイヤー内のアクション ディクショナリ全体を置き換えてみました (このアニメーションを追加するためだけに)。しかし、私はいつも同じ結果を得ます。
レイヤーが1秒間だけ移動するのを効果的に見るにはどうすればよいですか?