Linie zeichnen in Cocoa?
Wie kann ich zeichnen Sie eine Linie in einem bestimmten Fenster nach klicken auf eine Schaltfläche?
ich bin mit diesem:
NSBezierPath * path = [NSBezierPath bezierPath];
[path setLineWidth: 4];
NSPoint startPoint = { 21, 21 };
NSPoint endPoint = { 128,128 };
[path moveToPoint: startPoint];
[path lineToPoint:endPoint];
[[NSColor redColor] set];
[path stroke];
aber es funktioniert nur wenn ich es in der:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
wie kann ich dieses Problem lösen?
mein Ziel ist es, eine Anwendung zu erstellen, das zeichnen von Linien , entsprechend den details(Koordinate) erhielt
danke.
- Wo möchten Sie zu ziehen (in welcher Ansicht)? Ich glaube, Sie haben Unterklasse NSView und legen Sie Ihre Zeichnung code in es. Ich bin mir nicht sicher, warum es funktioniert, ohne Unterklassen, wenn Sie es in der applicationWillFinishLaunching Methode.
- ok, ich bin Zeichnung im inneren NSview-Klasse, und in einer benutzerdefinierten Ansicht
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie nicht zeichnen außerhalb der Sicht-oder layer-Zeichnung-Methode (z.B.
drawRect:
). Was wollen Sie tun, in groben Zügen, ist eine Sicht gibt, der die Linie zeichnet, wenn ein flag gesetzt ist, und wenn Sie auf die Schaltfläche, legen Sie die fahne und sagen, die Ansicht neu zu zeichnen.Wenn Sie klicken Sie mit der Maus Falle. Dieser code erstellt die Linie, Kurve und zeichnen.
Haben Sie versucht, den Aufruf [yourView setNeedsDisplay: YES] zu der Zeit, wenn Sie abgeschlossen haben Ihre Zeichnung?