Вопрос

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

Это было полезно?

Решение

Внутри -drawRect:, Ты используешь Cgcontextadddpath. Чтобы добавить его в контекст и использовать 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].

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top