如何使用CoreAnimation像时钟倒计时一样为圆形设置动画

时间:2012-01-17 13:17:33

标签: iphone ios core-animation

我希望有一个时间倒计时指示器就像一个圆圈,从一个拱形开始到一个完整的圆形。

我尝试了几种方法,最终都是直接将拱形转动成一个完整的圆形,而不是顺时针转动。在演示照片中显示如下:

demo for the clock animation

有什么想法吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

当您更改其中一个角度时,

SetNeedsDisplay,您可以执行一些优化以仅重绘受影响的区域。把这样的东西放到你的视图的绘图功能中。祝你好运

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);