Ich versuche, eine Reihe von Rechtecken (bis zu 2000) auf einer einzelnen UIView mit einer Schleife zu zeichnen. Ich kann in der DrawRect Methode des UIView mit dem folgenden Code dies ganz leicht erreichen:Zeichnen mehrerer Objekte in einem einzelnen Kontext mit unterschiedlichen Orientierungen
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 1.0);
CGContextSetStrokeColorWithColor(context, [UIColor blackColor].CGColor);
CGContextSetFillColorWithColor(context, [UIColor tescoBlue].CGColor);
for (NSDictionary *dict in storeDimensionsArray) {
float x = [[dict objectForKey:@"X"] floatValue];
float y = [[dict objectForKey:@"Y"] floatValue];
float width = [[dict objectForKey:@"Width"] floatValue];
float length = [[dict objectForKey:@"Length"] floatValue];
CGContextAddRect(context, CGRectMake(x, y, length, width));
CGContextDrawPath(context, kCGPathFillStroke);
[self setNeedsDisplay];
}
jedoch jede meiner Rechtecke eine andere Orientierung aufweisen kann, die um einen Winkel dargestellt wird (i Grad). Für das Leben von mir kann ich nicht herausfinden, wie man jede Form mit ihrer eigenen unabhängigen Orientierung, irgendwelchen Ideen zeichnet?
Ich habe den folgenden Code versucht, aber es scheint nicht zu funktionieren.
CGContextTranslateCTM (context, x, y);
CGContextRotateCTM(context, radians([[dict objectForKey:@"Angle"] floatValue]));
// tried adding the drawing code here
CGContextTranslateCTM (context, -x , -y);
// ...or here
Ich habe Probleme, meinen Kopf um den Kontext zu bewegen. Scheint eine viel einfachere Lösung wäre, die Ausrichtung des Rechtecks zu ändern.
Jede Hilfe wird geschätzt!
Danke, aber ich hatte gehofft, dass es nicht dazu kommen würde und es gab eine einfachere Möglichkeit. Ich werde es geben und sehen, wie es geht! – KSoza