CGContextRef画不完整的圆

本文介绍了一种使用Objective-C编程语言在iOS平台下绘制不完整圆形进度条的方法。通过UIGraphicsBeginImageContext和CGContextRef等API实现了一个可以根据百分比绘制不同进度的圆形进度条。文章提供了具体的代码实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

就是要这种效果:

代码:

- (void)drawCircleWithPercent:(float)per {
    //开始绘画
    UIGraphicsBeginImageContext(CGSizeMake(70, 70));
    //Quartz 2D 画布
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context,6);//改变线条粗细
    //底部完整圆
    CGContextSetRGBStrokeColor(context, 245/255.0, 215/255.0, 136/255.0, 1);//改变颜色
    CGContextAddArc(context, 35, 35, 32, 0, 2*M_PI, 0);//画圆
    CGContextStrokePath(context);//绘画,这句才是真正的将东西画上了
    //覆盖层,不完整圆
    CGContextSetRGBStrokeColor(context, 127/255.0, 204/255.0, 193/255.0, 1);
    CGContextAddArc(context, 35, 35, 32, 0, 2*M_PI*per, 1);
    CGContextStrokePath(context);
    //结束绘画
    UIImage *destImg = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    //创建UIImageView并显示在界面上
    UIImageView *imgView = [[UIImageView alloc] initWithImage:destImg];
    imgView.x = 67;
    imgView.y = 123;
    [self.view addSubview:imgView];
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值