0
我有一个CGPath,我想画一次到一个NSView。似乎相对简单,但我还没有找到AppKit(非iPhone)的方式。从CGPath创建一个NSView
我有一个CGPath,我想画一次到一个NSView。似乎相对简单,但我还没有找到AppKit(非iPhone)的方式。从CGPath创建一个NSView
Inside -drawRect:
,您使用CGContextAddPath将其添加到上下文中,并使用CGContext(Draw|Fill|Stroke)Path
来绘制它。即您子类NSView,并覆盖
- (void)drawRect:(NSRect)needsDisplayInRect
{
CGContextRef cgcontext = [[NSGraphicsContext currentContext] graphicsPort];
CGContextAddPath(cgcontext,path); // assumes you have CGPathRef*path;
CGContextStrokePath(cgcontext);
}
然后-drawRect:
将在适当时调用。您可以通过调用[view displayIfNeeded]
来强制更新视图。
CGContextAddPath实际上并没有绘制路径 - 您需要使用CGContext {Draw | Fill | Stroke}路径。 – Chuck 2010-05-12 18:24:24
Chuck是对的。这就是我最终做的。只是认为会有一个更简单的方法,但我猜不是。 – 2010-05-12 18:34:11
你是对的。我会纠正它。 – Yuji 2010-05-12 18:48:38