J'ai un CGPath et je veux le dessiner une fois sur un NSView. Semble relativement simple mais je n'ai pas trouvé un moyen dans AppKit (non iphone).Création d'un NSView à partir d'un CGPath
0
A
Répondre
1
À l'intérieur -drawRect:
, vous utilisez CGContextAddPath pour l'ajouter à un contexte et utilisez CGContext(Draw|Fill|Stroke)Path
pour le dessiner. C'est à dire. vous sous-classe NSView, et passer outre
- (void)drawRect:(NSRect)needsDisplayInRect
{
CGContextRef cgcontext = [[NSGraphicsContext currentContext] graphicsPort];
CGContextAddPath(cgcontext,path); // assumes you have CGPathRef*path;
CGContextStrokePath(cgcontext);
}
Alors -drawRect:
sera appelée le cas échéant. Vous pouvez forcer la mise à jour de l'affichage en appelant le [view displayIfNeeded]
.
CGContextAddPath ne dessine pas réellement le chemin - vous devez utiliser le chemin CGContext {Draw | Fill | Stroke} pour cela. – Chuck
Chuck a raison. C'est ce que j'ai fini par faire. Je pensais juste qu'il y aurait un moyen plus simple mais je suppose que non. –
Vous avez raison. Je vais le corriger. – Yuji