Создание NSView из CGPath - PullRequest
0 голосов
/ 12 мая 2010

У меня есть CGPath, и я хочу нарисовать его один раз в NSView. Кажется относительно простым, но я не нашел пути в AppKit (не iphone).

1 Ответ

1 голос
/ 12 мая 2010

Внутри -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].

...