0

UIView のサブクラスを作成しましたが、そのサブクラスのプロパティをアニメーション化しようとしています。

このプロパティは drawRect で使用され、アニメーションの各ステップで drawRect を実行したいと考えています。そこで、次のようにプロパティ セッターにしました。

-(void) setFill:(float) f
{
    fill = f;
    [self setNeedsDisplay];
}

しかし、アニメーション ブロックを実行すると、プロパティがすぐに設定されます。私は何を間違っていますか?

アニメーション呼び出しは次のようになります。

[UIView animateWithDuration:3.0f
                          delay:0.0f
                        options: UIViewAnimationOptionCurveLinear
                     animations: ^{ circle1.fill = 50; }
                     completion: ^(BOOL finished) { }];

これは、UIView サブクラスをアニメーション化する正しい方法ですか?

4

1 に答える 1

0

UIView の特定のプロパティのみがアニメート可能です (フレーム、センター、変換...)。NSTimer を使用してカスタム プロパティをアニメーション化するには、独自のアニメーションを作成する必要があります。

于 2012-05-17T16:34:23.123 に答える