- (void)drawRect:(CGRect)rect {
/* 判断数组里面是否有数据,否自不进行绘制*/
if ([self.PointsArray count]==0) {
return;
}
/* 或取上下文*/
CGContextRef ContextRef = UIGraphicsGetCurrentContext();
/* 设置路径的颜色*/
CGContextSetStrokeColorWithColor(ContextRef, [UIColor magentaColor].CGColor);
/* 设置画笔的宽度*/
CGContextSetLineWidth(ContextRef, 5);
/* 设置画之间的接口样式*/
CGContextSetLineJoin(ContextRef, kCGLineJoinRound);
/* 创建一个可变的路径 ( 注意:后面要对其释放)*/
CGMutablePathRef Paths = CGPathCreateMutable();
/* 获取画布的高度一半*/
CGFloat CanvasMidHeightFloat = self.bounds.size.height* 0.5;
/* 创建一个旋转对象。注意:这是实现图像的平移*/
CGAffineTransform transform = CGAffineTransformMakeScaleTranslate(KXScale, KYScale, 0, CanvasMidHeightFloat);
/* 设置画笔的起始点( 注意:数据记得转化)*/
CGFloat startY = [self.PointsArray[0] floatValue];
/* 设置起始画笔*/
CGPathMoveToPoint(Paths, &transform, 0, startY);
/* 批量将点数*/
for (NSUInteger x =1; x<self.PointsArray.count; ++x) {
/* 进行数据转化*/
startY = [self.PointsArray[x] floatValue];
/* 将其添加到路径里面*/
CGPathAddLineToPoint(Paths, &transform, x, startY);
}
/* 进行绘制*/
CGContextAddPath(ContextRef, Paths);
/* 释放路径*/
CGPathRelease(Paths);
/* 闭合路径*/
CGContextStrokePath(ContextRef);
}