背景:
开初:需一圆形图分颜色展示三种状态:在线,离线,告警。
期间:加入告警状态:待处理,处理中
因此,封装一个不限制圆中有几种颜色分布,需传数组, 数组中只包含字典类型,字典中@{@"strokeColor":[UIColor redColor],@"percent":@(1.5)}
关键代码如下:
在需要的地方怎样调用呢?float后定义的个数就是需要展示的段数,当然,如果换成让其等于0,实际也是让该段不展示。
float a=25782,b=7203,c=1073,d=1800,e=87;
ColorCircleView *view = [[ColorCircleView alloc] initWithFrame:CGRectMake(100,200, 100, 100) myColorArrays:@[ @{@"strokeColor":[UIColor lightGrayColor], @"percent" :@(a/(a+b+c+d+e))},@{ @"strokeColor":[UIColor redColor],@"percent":@(b/(a+b+c+d+e))}, @{@"strokeColor":[UIColor greenColor],@"percent" :@(c/(a+b+c+d+e))},@{@"strokeColor":[UIColor purpleColor],@"percent" :@(d/(a+b+c+d+e))},@{@"strokeColor":[UIColor orangeColor],@"percent" :@(e/(a+b+c+d+e))}]];
[self.view addSubview:view];
如下图展示:
参考:https://blog.csdn.net/NB_killer/article/details/51023948












网友评论