如下图所示的曲线,类似与股票曲线图:
在一个UIView里实现函数:
-(void)drawRect:(CGRect)rect
{
CGRect bounds = CGRectMake(0,0,200,200); //长和宽都为200.
CGContextRef context =UIGraphicsGetCurrentContext(); //获取当前的上下文,也就是Context
CGContextSaveGState(context); //保存当前的context
CGContextSetFillColorWithColor(context, backGroundColor.CGColor);//设置背景颜色。偏黑色。
CGContextFillRect(context, rect);// 填充矩形区域。
CGContextRestoreGState(context); //恢复context
UIColor *lineColor = [UIColorcolorWithRed:0green:210.f/255.fblue:1.f alpha:1.f];//设置线的颜色。
float startX = bounds.origin.x;//开始点横坐标
float startY = bounds.origin.y + bounds.size.height/2;//从中间位置开始画。
float pointInterval = bounds.size.width /10;//一共画10个点。
CGContextSaveGState(ctx);//保存当前的context
CGContextSetAllowsAntialiasing(ctx,true);//Antialiasing 设置为true,防止在拐点处出现模糊。
CGContextSetLineWidth(ctx,0.8f);//线的宽度。
CGContextSetStrokeColorWithColor(ctx, lineColor.CGColor);//画笔的颜色设置。
float startX_temp = startX;
float startY_temp = startY;
for(int i = 0; i < 9; i++) {
CGContextMoveToPoint(ctx, startX_temp, startY_temp);
if(i %2 == 0) {//i 为偶数的时候,Y坐标在中间位置。
startY_temp = startY + 0;
}else {//i 为奇数的时候,Y坐标在StartY-10处。
startY_temp = startY - 10;
}
startX_temp = startX + (i+1) * pointInterval;
CGContextAddLineToPoint(ctx, startX_temp, startY_temp);//连接点。
}
CGContextStrokePath(ctx);//开始绘制
CGContextRestoreGState(ctx);//恢复context
}