扇形图

项目中一个界面包含了扇形图,是下面这个样子。于是这里先写了一个简单的实现(是固定死的比例,以后再加比例就OK了)。

原理

利用CAShapeLayerUIBezierPath绘制。

主要代码

CAShapeLayer *circle = [CAShapeLayer layer];
    circle.lineWidth = lineWidth1;
    circle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(kScreenWidth/2, kScreenHeight/2) radius:raidus1 startAngle:0 endAngle:-2*M_PI clockwise:NO].CGPath;
    circle.strokeColor = [UIColor whiteColor].CGColor;
    circle.fillColor = [UIColor lightGrayColor].CGColor;
    [self.view.layer addSublayer:circle];

有一点需要注意的是lineWidth这个属性设置了之后会有一半覆盖掉半径,也就是说半径是100的话,设置lineWidth为50的话,看到的效果是里面的半径是100-50/2=75.(我当时找了好久的原因才发现这个问题)

结束

到这里就结束了,其实发现这个还是很简单的。这里有我完整的代码:点我查看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才...
    独孤求学阅读 9,931评论 4 9
  • 继承View基类,画了这样的扇形图 直接来步骤吧 (参考了GcsSloop的教程) 1.分析 自定义View需要认...
    stefanJi阅读 16,808评论 13 25
  • 可视化数据图 - 自定义扇形饼状图 如觉得文字版本不适合阅读,请点击这里 组件特性 根据传入的四种数据量大小自动显...
    jackzhoud阅读 5,222评论 0 0
  • 这本书断断续续看了一年多,虽然是特德·姜的小说合集,篇幅不长,但好几个故事都发人深思,需要写好几篇读后感逐一表达。...
    一颗胖胖臻阅读 10,586评论 0 0
  • 这列车的终点,当是我真正意义上中关村生活的起点。村中的生活,让人有点想逃离。 第一次住村里,是“扮演”着准股东角色...
    傲世奇龙阅读 2,444评论 0 1

友情链接更多精彩内容