DACircularProgress Track Circle比Progress Circle更大

时间:2013-01-22 13:08:24

标签: ios iphone objective-c

我必须画一个倒数计时器圈,我使用this open source库。要求是圆圈充满绿色并在x秒内消失。我已经给了圆绿色并在上面画了一个白色的圆圈,绿色的圆圈看起来就像是消失了。

self.circularTimer.trackTintColor = [UIColor greenColor];
self.circularTimer.progressTintColor = [UIColor whiteColor];
self.circularTimer.thicknessRatio = 5.0f;
[self startAnimation];

一切运行正常,但是有一个小问题,圆圈边框可见。因为后圆比顶部的白色圆圈大一点。

http://img651.imageshack.us/img651/1415/circleav.png

1 个答案:

答案 0 :(得分:1)

转到函数中的DACircularProgressView.m - (void)drawInContext:(CGContextRef)context 并在此行下

CGFloat radius = MIN(rect.size.height, rect.size.width) / 2;

插入此行

CGFloat radiusTint= MIN(rect.size.height, rect.size.width) / 2.1;

并用

替换行
CGPathAddArc(trackPath, NULL, centerPoint.x, centerPoint.y, radius, 3 * M_PI_2, -M_PI_2, NO);

这一行

CGPathAddArc(trackPath, NULL, centerPoint.x, centerPoint.y, radiusTint, 3 * M_PI_2, -M_PI_2, NO);