【发布时间】:2009-12-23 13:35:42
【问题描述】:
我有一个 NSView,我在其中绘制了数千个 NSBezierPath。我想在 mousemoved 事件中突出显示(更改填充颜色)选定的一个。目前我在 mouseMoved 函数中使用以下命令:
[self setsetNeedsDisplay:YES];
强制调用 drawRect 来重绘每个路径。我想只重绘选定的一个。 我尝试在 drawRect 函数中使用 addClip:
NSBezierPath * path = ... //builds the path here
[path addClip];
[path fill];
但似乎 drawRect 会破坏所有其他先前绘制的路径并仅重绘被剪裁的路径。
调用drawRect时是否可以不使所有视图无效?我的意思是逐步覆盖之前的视图?
谢谢, 卢卡
【问题讨论】:
标签: objective-c cocoa quartz-graphics nsview