ios饼图绘制逻辑

源码

1、按百分比画圆弧度:

UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius startAngle:start endAngle:end clockwise:YES];

            [color set];

            [path addLineToPoint:center];

            [path fill];

2、添加圆心遮挡:

3、画折线跟引线:

    //1.获取上下文

        CGContextRef ctx = UIGraphicsGetCurrentContext();

        //2.绘制路径

        UIBezierPath *path = [UIBezierPath bezierPath];

        [path moveToPoint:CGPointMake(endX, endY)];

        [path addLineToPoint:CGPointMake(breakPointX, breakPointY)];

        [path addLineToPoint:CGPointMake(startX, startY)];

        CGContextSetLineWidth(ctx, 0.5);

        //设置颜色

        [color set];

        //3.把绘制的内容添加到上下文当中

        CGContextAddPath(ctx, path.CGPath);

        //4.把上下文的内容显示到View上(渲染到View的layer)(stroke fill)

        CGContextStrokePath(ctx);

4、折线起始位置添加圆点;

5、在引线周围添加文本。

注意事项:

1、当前文本区域要跟前面所有文本区域比较是否有相交,相交后要调整当前文本区域;

2、图表内的圆点、文本、圆心遮挡、引线等既可以画也可以添加View的方式;

3、调整好圆弧半径及文本区域高宽,避免界面遮挡。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容