Ich habe einige Probleme mit dem CGContext mit einer iPhone App. Ich versuche, mehrere Linien mit verschiedenen Farben zu zeichnen, aber alle Linien haben immer die Farbe, die zuletzt verwendet wurde. Ich habe mehrere Ansätze ausprobiert, aber ich hatte kein Glück.iPhone CGContext: zwei Linien mit zwei verschiedenen Farben zeichnen
Ich habe ein kleines Beispielprojekt eingerichtet, um dieses Problem zu lösen. Dies ist mein Code, den ich in der drawRect-Methode verwende. Ich versuche, eine rote und eine blaue Linie zu zeichnen:
- (void)drawRect:(CGRect)rect{
NSLog(@"drawrect!");
CGContextRef bluecontext = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(bluecontext, 2.0);
CGContextSetStrokeColorWithColor(bluecontext, [UIColor blueColor].CGColor);
CGContextMoveToPoint(bluecontext, 1, 1);
CGContextAddLineToPoint(bluecontext, 100, 100);
CGContextSetStrokeColorWithColor(bluecontext, [UIColor redColor].CGColor);
CGContextAddLineToPoint(bluecontext, 200, 100);
CGContextStrokePath(bluecontext);
}
Dank für Ihre Hilfe nur
Dank, so dass dies läuft im Grunde bis auf die Tatsache, dass ich einen Weg mit einer Farbe zu machen habe, bevor ich einen Weg mit einer anderen Farbe zeichnen? Erstellen von zwei Kontexten, einer für die blauen Linien und einer für die roten Linien, funktioniert nicht, weil sie am Ende den gleichen Kontext verwenden? – phonecoddy
Ja, für jede Farbänderung müssen Sie den Pfad zeichnen und löschen. Sie können alles im selben Kontext tun. – drawnonward