1

UIBezierPathアニメーションのaddLineToPointが完了した後、スクリプトを実行しようとしています。

これは私のコードの一部です

    UIBezierPath *path = [UIBezierPath bezierPath];

    CGRect pathRect = CGRectInset(self.animationLayer.bounds, 0.0f, 0.0f);    
// define cgpoint
    CGPoint number1 = CGPointMake(CGRectGetMinX(pathRect), CGRectGetMaxY(pathRect));
    [path addLineToPoint: number1];

ここでUIBezierClassの参照を見つけましたが、アニメーションaddLineToPointが実行されたことを示すインジケーターが見つかりません。前もって感謝します。 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIBezierPath_class/Reference/Reference.html

4

1 に答える 1

4

に関係するアニメーションはありませんaddLineToPoint。UIBezierPathを構築するための他のすべてのメソッドについても同じことが言えます。

ドキュメントを確認すると、話しているメソッドは「パスの作成」セクションにあります。モデル内のポイントに線を追加するだけです(まだ画面に描画されていません)。

fillあるビューのメソッドを呼び出すかstroke、メソッド内でベジェパス全体を描画できdrawRect:ますが、それでも何もアニメーション化されません。


そのパスのストロークをアニメートし、完了時にコールバックを取得したいようです。その場合は、CAShapeLayerを作成し、ベジェパスをそのパスプロパティに割り当てる必要があります。strokeEnd次に、プロパティを0から1にアニメーション化することで、そのシェイプレイヤーのストロークをアニメーション化できます。そのアニメーションのデリゲートになるように自分を構成するとanimationDidStop:finished:、アニメーションが終了するとコールバックが返されます。

于 2012-11-19T13:32:35.690 に答える