0

こんにちは、オブジェクトをフルサイズ (1) からほぼゼロ (0.01) にフェードダウンさせる CAKeyFrameAnimation スケールがあります。

次に、これが呼び出されます:

- (void)animationDidStop:(CAKeyframeAnimation *)anim finished:(BOOL)flag
{

 [self setHidden:YES];

}

オブジェクトを隠しているように見えますが、一瞬フルサイズで再表示する前ではなく、小さな/何もない効果へのフェードを台無しにします:P

「animationDidStop」が呼び出されたときにアニメーションがフレーム 1 に戻らないようにするにはどうすればよいですか? ありがとう!

4

2 に答える 2

1

fillModeアニメーションのプロパティをに設定する必要があると思いますkCAFillModeForwards。これで、終了時にアニメーションがフリーズするはずです。

もう1つの提案(そして正直なところ、これは私が通常行うことです)は、アニメーションを設定した後、レイヤー自体のプロパティを最終的な位置に設定することです。そうすれば、アニメーションが削除されても、レイヤーにはモデルの一部として最終的なプロパティが残ります。

于 2011-12-30T13:45:49.110 に答える
0
  1. CAKeyframeAnimationの代わりに.scaleオブジェクトプロパティを設定できます。
  2. CAKeyframeAnimationを作成した後、アニメーションを無効にし、ターゲットスケールを設定できます。
  3. スケール(0.1)はanimationDidStopメソッドで設定できます(機能するかどうかはわかりません)

ポイントは、オブジェクトのターゲットプロパティを設定することです。アニメーション終了後、ジャンプします。

于 2011-12-30T13:45:53.030 に答える