IOS 绘制曲线

本文介绍了如何在iOS应用中实现绘制股票曲线图的功能。通过在UIView上利用图形API,你可以创建出与股票图表类似的曲线效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如下图所示的曲线,类似与股票曲线图:



在一个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
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值