手把手教你玩转iOS的仪表盘
最近公司项目需求,要求我做一个仪表盘,指针能工具报警值变换指针颜色的那种。而且仪表盘的量程,报警值都是不一样的(ps:仪表盘个数有点多,几十个的样子,而且每个都不一样)。刚开始的时候,万恶的美工告诉我说,每个仪表盘的度数、报警值是一样的,我就贴了一张图片,指针到了报警值就换图片。后来又告诉我说仪表盘是不一样的(内心orz:内心一万只cnm奔腾)
好吧,废话不多说了,直入主题。
我使用UIView的- (void)drawRect:(CGRect)rect方法画的,首先当然就是使用贝塞尔曲线描出两条路径,路径的颜色通过传参的方式传过来
“` python
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetShadow(context, CGSizeMake(0, 0), 0);
UIBezierPath *path = [UIBezierPath bezierPath];
[path addArcWithCenter:CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2) radius:76 startAngle:ANGLE_TO_RADIANS(150) endAngle:ANGLE_TO_RADIANS(390) clockwise:YES];
UIColor *color = self.leftColor;
[color setStroke];
path.lineWidth = 20;
[path stroke];
UIBezierPath *path2 = [UIBezierPath bezierPath];
[path2 addArcWithCenter:CGPointMake