2009-07-24 10 views
3

アニメーションとして完全な円を描くはずのカーブ/アークパスをアニメーションできるサンプルコードが必要ですか?CGPathアニメーション

すべての入力をいただければ幸いです。

おかげで、 土

+0

「フルサークルをアニメーションとして描画する」とはどういう意味ですか?あなたのサークルをどのようにアニメーション化したいですか?あなたは円グラフの小さな部分のような小さなくさびを描き始めたいのですが、完全な円の大きさになるまでくさびを大きくしたいのですか? –

答えて

10

UPDATE:この問題に対するより良い解決策がある実現。円形のパスを作成し、CAShapeLayerのstrokeEndプロパティを0.0fから1.0fにアニメーション化するだけです。オレからこの答えを見てみましょう:Drawing a path with CAKeyFrameAnimation on iPhone

ORIGINAL ANSWER

をあなたはCAKeyframeAnimationを使用し、コアグラフィックスパスを作成することができます。このコードは、放物線パターンでレイヤーをアニメートしますが、サークルを描くためにレイヤーを適用することができます。

- (CAAnimation*)pathAnimation; 
{ 

    CGMutablePathRef path = CGPathCreateMutable(); 
    CGPathMoveToPoint(path,NULL,50.0,120.0); 

    CGPathAddCurveToPoint(path,NULL,50.0,275.0, 
          150.0,275.0, 
          150.0,120.0); 
    CGPathAddCurveToPoint(path,NULL,150.0,275.0, 
          250.0,275.0, 
          250.0,120.0);  
    CGPathAddCurveToPoint(path,NULL,250.0,275.0, 
          350.0,275.0, 
          350.0,120.0);  
    CGPathAddCurveToPoint(path,NULL,350.0,275.0, 
          450.0,275.0, 
          450.0,120.0); 

    CAKeyframeAnimation * 
     animation = [CAKeyframeAnimation 
        animationWithKeyPath:@"position"]; 

    [animation setPath:path]; 
    [animation setDuration:3.0]; 

    [animation setAutoreverses:YES]; 

    CFRelease(path); 

    return animation; 

} 
関連する問題