2

以下を使用していくつかのCoreアニメーションを実行した後:

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];

    [self setAffineTransform:CGAffineTransformIdentity];

    [UIView commitAnimations];

属性の変更を単純に起動すると、属性を変更するだけでなく、アニメーションが使用されることに気付きました。たとえばsetAffineTransform...それはiOSのアニメーションに固有のものですか?コードに何かが欠けているのでしょうか、それとも間違っているに違いありませんか?

ありがとう!

4

1 に答える 1

1

setAffineTransform:あなたが言及している不透明度と同様に、UIViewではなくCALayerのメソッドです。これらのプロパティへの変更は暗黙的にアニメーション化されます。つまり、それらを設定すると、レイヤーが即座に切り替わるのではなく、新しい値にアニメーション化されます。

暗黙的にアニメーション化されたプロパティのリストはこちらです。暗黙的なアニメーションを無効にするには、ここで説明されているように、暗黙的なアニメーションを無効にして更新を CATransaction にラップします。

于 2012-07-01T11:59:56.523 に答える