gpt4 book ai didi

cocoa - 用 Cocoa 绘制线和点

转载 作者:行者123 更新时间:2023-12-03 16:33:33 27 4
gpt4 key购买 nike

我正在尝试画一些与线相连的点。该点由“核”及其周围的轨道区域组成。

enter image description here

当我尝试移动那些导致线条扭曲的点时,就会出现问题: enter image description here

在我的 drawRect: 方法中,我迭代创建的点数组,并使用 lineToPoint: 方法绘制贝塞尔曲线路径。

Dot *prevDot = nil;
NSBezierPath *line = [NSBezierPath bezierPath];
for (Dot *dot in _dots) {
if (!prevDot) {
[line moveToPoint:dot.position];
} else {
[line lineToPoint:dot.position];
}
prevDot = dot;
}
[line stroke];

我的问题是,一旦移动其中一个点,我应该使用什么技术来实现点之间的干净线条更新?

最佳答案

您的绘图代码是正确的。但是,当 View 发生更改时,您必须更新 View 的大部分。看起来您只是更新移动的点,而不是线条。一个简单的解决方法是调用:

[myView setNeedsDisplay:YES];

每当您更改点的位置时。这将重绘整个 View 。您可以使用其他方法更有选择性地仅在 View 发生变化的地方更新 View ,这可能会给您带来更好的性能。

通常,您可以在数据类发送的 NSNotification 调用的方法中调用此方法。

关于cocoa - 用 Cocoa 绘制线和点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5387605/

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