6

UIBezierPath(円)を次のように段階的に作成しています。

[circlePath addArcWithCenter:clockCenter radius:radius startAngle:angleRadians endAngle:1.5*M_PI clockwise:YES];
...
[circlePath closePath];
[COLOR_CIRCLE setFill];
[circlePath fill];

ときどき、塗りつぶしをアニメーション化して、完全に塗りつぶし、作成されたパス(時計回り)をたどるのに1秒かかるようにします。これを達成するための好ましい方法は何ですか?今、私はCore Animationを考えていますが、fill:withDelayなど、私がつまずいたことのないものがあることを望んでいます。TIA。

4

1 に答える 1

2

あなたはこれを試すことができます:

シェイプに設定されたCAShapeLayerを作成pathします。このCAShapeLayerを、塗りつぶされた円弧/円を描画する別のレイヤーのマスクとして使用します。次に、円弧/円弧の角度を0°から360°にアニメートします。それはあなたが望む効果に近いかもしれません。

塗りつぶしを希望どおりにアニメーション化する「組み込み」の方法が見つかりません。ただし、ストロークをアニメーション化する組み込みの方法があります。

CAShapeLayerをサポートするUIViewを使用します。CAShapeLayerにはpathプロパティがあります。strokeStart次に、レイヤーやstrokeEndプロパティにアニメーションを適用できます。

于 2012-07-11T01:06:14.667 に答える