Positionieren Sie eine Ansicht zum Zeichnen über renderInContext:

Ich möchte einen zeichnenUIView in meiner jetzigenCGGraphicsContext. Ich zeichne dieUIView überrenderInContext:, aber es ist nicht richtig positioniert (immer in der oberen linken Ecke).

Ich habe alle Werte derUIView verfügbar zum zeichnen derUIView.

CGRect frame;
CGRect bound;
CGPoint center;
CGAffineTransform transform;

Ich stelle momentan die Position und Rotation der Ebene so ein:

CGContextTranslateCTM(context, frame.origin.x, frame.origin.y);
CGContextRotateCTM(context, (CGFloat) atan2(transform.b, transform.a));

Die Position ist jedoch aufgrund der Drehung nicht korrekt und weicht von der ursprünglichen Position ab.
Wie kann ich die ursprüngliche Position wiederherstellen? Das Koordinatensystem hat sich zwischenzeitlich nicht geändert, es ist nur ein Problem, das zu übersetzencenter.x undcenter.y Werte in etwas angemessen fürCGContextTranslateCTM.

Bearbeiten:
Die gespeicherten Werte sind korrekt und speichern die richtigenbounds, center undtransform ist nicht der Ursprung meiner Ausgabe, der Ursprung meiner Ausgabe, setzt diese Werte auf das ZeichenbareCGLayer überCGContextTranslateCTM.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage