objective-c - iOS:持续更新路径的 CGContextStrokePath

标签 objective-c ios core-graphics cgcontext

我想构建一个小的折线图,当我调用我的 setPointInGraph: 方法时它会得到更新。每次我调用它时,我都希望图表用我刚刚添加的点进行更新,因此从我的最后一个点画一条线。我在下面的代码中看到问题,在“drawRect:”中,它只是不断覆盖旧路径。

- (void)setPointInGraph:(float)p {

    self.point = p;
    [self setNeedsDisplay];
}


- (void)drawRect:(CGRect)rect {

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGFloat maxX = CGRectGetMaxX(rect);
    CGFloat maxY = CGRectGetMaxY(rect);

    CGColorRef strokeColor = [self.lineColor CGColor];
    CGContextSetStrokeColorWithColor(context, strokeColor);
    CGContextSetLineWidth(context, self.lineWidth);
    CGContextBeginPath(context);                
    CGContextMoveToPoint(context, 0.0, maxY - maxY * self.point);
    CGContextAddLineToPoint(context, maxX * (point / count), maxY - maxY * self.point);
    CGContextStrokePath(context);

    count++;

}

如何保留路径(例如属性)并在我选择时更新它?我怎样才能不断地添加到这个路径而不是覆盖它?

最佳答案

使用UIBezierPath。您可以通过调用 addLineToPoint 添加新线段。

关于objective-c - iOS:持续更新路径的 CGContextStrokePath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7899202/

相关文章:

swift - 带圆角的虚线

objective-c - 从 NSDictionary 访问数据

objective-c - 创建自定义弹出式插页式广告的最佳方式是什么?

ios - 如何使用 HOKO Links 实现延迟深度链接?

iphone - GMSGroundOverlay 有哪些限制?

ios - 为什么核心显卡线条不对齐?

ios - 带指示器的圆形进度条

iphone - 将自定义编码图像应用于 Interface Builder 中的圆形矩形按钮时出现问题

ios - 自动写入文件不起作用

ios - 隐藏 UIToolBar 和 UINavigation 并展开 UIWebView? - iOS