圆形进度条

圆形进度条
- (void)drawRect:(CGRect)rect {
	
    CGContextRef ctx = UIGraphicsGetCurrentContext();//获取上下文	

    CGPoint center = CGPointMake(100, 100);  //设置圆心位置
		
    CGFloat radius = 90;  //设置半径
		
    CGFloat startA = - M_PI_2;  //圆起点位置
		
    CGFloat endA = -M_PI_2 + M_PI * 2 * _progress;  //圆终点位置_progress(0到1)
		
    UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius startAngle:startA endAngle:endA clockwise:YES];

    CGContextSetLineWidth(ctx, 10); //设置线条宽度
		
    [[UIColor blueColor] setStroke]; //设置描边颜色

    CGContextAddPath(ctx, path.CGPath); //把路径添加到上下文
	
    CGContextStrokePath(ctx);  //渲染	
		
}




*******************************************************************************************************

***********************************
self.outLayer = [CAShapeLayer layer];
CGRect rect = {kLineWidth / 2, kLineWidth / 2,
frame.size.width - kLineWidth, frame.size.height - kLineWidth};
UIBezierPath *path = [UIBezierPathbezierPathWithOvalInRect:rect];
self.outLayer.strokeColor = [UIColor lightGrayColor].CGColor;
self.outLayer.lineWidth = kLineWidth;
self.outLayer.fillColor =  [UIColor clearColor].CGColor;
self.outLayer.lineCap = kCALineCapRound;
self.outLayer.path = path.CGPath;
[self.layeraddSublayer:self.outLayer];


self.progressLayer = [CAShapeLayer layer];
self.progressLayer.fillColor = [UIColor clearColor].CGColor;
self.progressLayer.strokeColor = [UIColor blueColor].CGColor;
self.progressLayer.lineWidth = kLineWidth;
self.progressLayer.lineCap = kCALineCapRound;
self.progressLayer.path = path.CGPath;
[self.layeraddSublayer:self.progressLayer];

self.transform = CGAffineTransformMakeRotation(-M_PI_2);

self.progressLayer.strokeEnd =  number / 100.0;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值