gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 13:44:40 24 4
gpt4 key购买 nike

我想构建一个小的折线图,当我调用我的 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com