![圆形进度条的绘制与使用 - 杨叫兽 - 青青子衿 悠悠我心](http://img0.ph.126.net/A0fLNmd9YxymKnkppSOE5w==/6597759160447939272.png)
//alloc CircularProgressView instance
self.circularProgressView = [[CircularProgressView alloc]initWithFrame:CGRectMake(41, 57, 238, 238)
backColor:backColor
progressColor:progressColor
lineWidth:30
audioPath:audioPath];
//set CircularProgressView delegate
self.circularProgressView.delegate = self;
//add CircularProgressView
[self.view addSubview:self.circularProgressView];
圆形进度条里有播放、暂停、恢复的方法,需要的时候可以直接调用。
![圆形进度条的绘制与使用 - 杨叫兽 - 青青子衿 悠悠我心](http://img1.ph.126.net/xnpAxHEXFcbA-Sbd-AxjhA==/6597884504773589305.png)
其实,圆形进度条的核心代码就在该类中drawRect方法中,主要用UIBezierPath绘制圆弧,根据音频播放进度以0.1秒的间隔更新进度条。
UIBezierPath *backCircle = [UIBezierPat bezierPathWithArcCenter:CGPointMake(self.bounds.size.width / 2,self.bounds.size.height / 2)
radius:self.bounds.size.width / 2 -self.lineWidth / 2
startAngle:(CGFloat) - M_PI_2
endAngle:(CGFloat)(1.5 * M_PI)
clockwise:YES];