Zeichnen Sie eine Linie in iPhone , Ausnahme
Ich versuche, eine Linie zu ziehen.
Schrieb ich einen code wie unten.
UIColor *currentColor = [UIColor blackColor];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 2.0);
CGContextSetStrokeColorWithColor(context, currentColor.CGColor);
CGContextMoveToPoint(context, startingPoint.x, startingPoint.y);
CGContextAddLineToPoint(context,endingPoint.x , endingPoint.y);
CGContextStrokePath(context);
aber das zeigt Ausnahme wie folgt
Sat Aug 21 10:47:20 AAA-rrr-Mac-mini.local Test[2147] <Error>: CGContextSetLineWidth: invalid context 0x0
Sat Aug 21 10:47:20 AAA-rrr-Mac-mini.local Test[2147] <Error>: CGContextSetStrokeColorWithColor: invalid context 0x0
Sat Aug 21 10:47:20 AAA-rrr-Mac-mini.local Test[2147] <Error>: CGContextMoveToPoint: invalid context 0x0
Sat Aug 21 10:47:20 AAA-rrr-Mac-mini.local Test[2147] <Error>: CGContextAddLineToPoint: invalid context 0x0
Sat Aug 21 10:47:20 AAA-rrr-Mac-mini.local Test[2147] <Error>: CGContextDrawPath: invalid context 0x0
Sie haben tatsächlich nicht ein graphics-Kontext. Tun Sie dies innerhalb einer drawRect: oder einige andere zufällige Stelle?
im mit Sie es in meine eigene Funktion mit dem Namen drawLine:(CGPoint )Aus:(CGPoint )
sollten alle Rahmen oder einige Datei-Zeichnung?
Sie sollten immer
im mit Sie es in meine eigene Funktion mit dem Namen drawLine:(CGPoint )Aus:(CGPoint )
sollten alle Rahmen oder einige Datei-Zeichnung?
Sie sollten immer
drawRect:
für Zeichnung und verwenden Sie setNeedsDisplay
für jede Aktualisierung, die Sie wollte.InformationsquelleAutor new_programmer | 2010-08-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie auch nennen
CGContextBeginPath(ctx);
kurz bevor Sie den AnrufCGContextMoveToPoint
CGContextClosePath
InformationsquelleAutor epatel
Verfügen Sie über keine gültige Grafik-Kontext.
UIGraphicsGetCurrentContext()
natürlich zurückgegebennil
.Wo Sie wollen zu zeichnen?
Wenn Sie möchten, zeichnen Sie auf den Bildschirm, dann sollten Sie implementieren die
drawRect:
Methode derUIView
oder einer Ihrer Unterklassen und iOS aufrufen dieser Methode (durch das auslösen der Regenerierung der Teil des Bildschirms). Dann müssen Sie ein gültiges graphics-Kontext während der Ausführung vondrawRect:
.Wenn Sie möchten, um zu zeichnen, um eine offscreen-pixel anzeigen, dann müssen Sie erstellen Sie ein graphics-Kontext selbst mit
UIGraphicsBeginImageContext
oder eine ähnliche Funktion.EDIT:
Also für Zeichnung in eine UIView, müssen Sie erstellen eine UIView Unterklasse und überschreiben drawRect:
Dann öffnen Sie die XIB-Datei (die Sie wahrscheinlich schon haben= in Interface Builder hinzufügen UIView es und wählen Sie MyUIView wie die Klasse (das erste Feld auf der letzten Registerkarte im Inspector-Fenster).
Ich kann Ihnen ein Beispiel geben, wenn Sie Antworten, wo Sie wollen zu zeichnen.
Ich möchte eine Linie zeichnen, in UIView
InformationsquelleAutor Codo