2012-01-17 5 views
1

アーチのスライスから完全な円に始まる円のようなタイムカウントダウンインジケータが必要です。CoreAnimationを使用して時計のカウントダウンのように円をアニメーション化する方法

私はいくつかの方法を試しましたが、どちらも時計回りではなく、完全に円になるように直接回っていました。

demo for the clock animation

任意のアイデアを次のようにデモの写真に示されていますか?大変感謝しています!

+0

あなたが試したことを示す必要があるコードを共有します。 –

答えて

1

SetNeedsDesplay角度を変更すると、影響を受けた領域のみを再描画するように最適化を行うことができます。このようなものをあなたのビューの描画機能に入れてください。幸運

CGContextRef myContext = UIGraphicsGetCurrentContext(); 
CGPoint center = { self.bounds.size.width * 0.5f, self.bounds.size.height * 0.5f }; 


CGContextClearRect(myContext, rect); 

CGContextMoveToPoint(myContext, center.x, center.y); 
// start and end are in radians. 
CGContextAddArc(myContext, center.x, center.y, MIN(self.frame.size.width,self.frame.size.height)*0.5f, _startAngle, _endAngle, NO); 
CGContextAddLineToPoint(myContext, center.x, center.y); 
CGContextClip(myContext); 

CGContextSetFillColorWithColor(myContext,[UIColor redColor].CGColor); 
CGContextFillRect(myContext, self.bounds); 
+0

ありがとうございました – bobzsj87

+0

これは素晴らしいですが、背景を黒ではなくクリアに設定するにはどうすればよいですか? – zakdances

+0

CGContextClearRect(myContext、rect); – Nico

関連する問題