</pre><pre code_snippet_id="1675698" snippet_file_name="blog_20160509_1_1489477" name="code" class="objc">/** Quartz2d的图形绘制API */ "【画线drawLine】" 1.获取上下文件UIGraphicsGetCurrentContext(); 2.设置起点CGContextMoveToPoint(ctx, 10, 10); 3.添加连接点AddLineToPoint(ctx, 110, 10); 4.渲染CGContextStrokePath(ctx); 5.设置线宽CGContextSetLineWidth(ctx, 3); 6.设置线的颜色CGContextSetRGBStrokeColor(ctx, 1, 0, 0, 1); 7.再添加1个连接点完成矩形绘制 8.设置线的首尾样式CGContextSetLineCap(ctx, kCGLineCapButt); 9.设置线的连接样式CGContextSetLineJoin(ctx, kCGLineJoinRound); "【画矩形drawRectangle】" 1.获取上下文件UIGraphicsGetCurrentContext(); 2.设置起点,并连接四个点成为矩形 *CGContextMoveToPoint(ctx, 10, 10) *AddLineToPoint(ctx, 110, 10); *AddLineToPoint(ctx, 110, 110); *AddLineToPoint(ctx, 110, 10); *AddLineToPoint(ctx, 10, 10); 3.画空心CGContextStrokePath(ctx) 4.画实心CGContextFillPath(ctx); 5.使用CGContextStrokeRect();/ CGContextFillRect(); 画矩形 "【画三角形triangle】" 1.获取上下文件UIGraphicsGetCurrentContext(); 2.设置起点,并连接三个点 3.关闭路径CGContextClosePath(ctx); 4.渲染CGContextStrokePath(ctx) "【画圆circle】" CGContextAddEllipseInRect(context, CGRectMake(10, 10, 100, 100)); "【画弧arc】" //x y 圆点 //radius 半径 //startAngle 开始角度 //endAngle 结束角度 //clockwise 圆弧的伸展方向 0 顺时针 1 逆时针 CGContextAddArc(context, 100, 100, 50, 0, M_PI_2, 1); //1顺时针 0 "【画扇形sector】" //设置扇形路径的起点 CGContextMoveToPoint(context, 100, 100); CGContextAddArc(context, 100, 100, 50, M_PI_4, 3 * M_PI_4, 0); CGContextClosePath(context); "【画文字和图片】" 调用文字或者图片的drawAtPoint:或drawInRect方法 文字可设置属性 @{NSFontAttributeName:[UIFont systemFontOfSize:15],NSForegroundColorAttributeName:[UIColor redColor]}; 图片 可view上画图片调用drawAtPoint:或drawInRect方法 drawAsPatternInRect可以平铺图片 "【画进度圈】"
自定制的进度圈,可以直接拿来用:
https://github.com/liyuunxiangGit/ProgressCircle
时间: 2024-11-11 14:02:49