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