Coloque una vista para dibujar a través de renderInContext:
Quiero dibujar unUIView
en mi corrienteCGGraphicsContext
. Yo dibujo elUIView
víarenderInContext:
, pero no está colocado correctamente (siempre en la esquina superior izquierda).
Tengo todos los valores de laUIView
disponible para dibujar elUIView
.
CGRect frame;
CGRect bound;
CGPoint center;
CGAffineTransform transform;
Actualmente configuro la posición y la rotación de la capa de esta manera:
CGContextTranslateCTM(context, frame.origin.x, frame.origin.y);
CGContextRotateCTM(context, (CGFloat) atan2(transform.b, transform.a));
Pero la posición, debido a la rotación, no es correcta y difiere de la posición original.
¿Cómo puedo restaurar la posición original? El sistema de coordenadas no ha cambiado en el medio, es solo un problema traducir elcenter.x
ycenter.y
valores en algo apropiado paraCGContextTranslateCTM
.
Editar:
Los valores guardados son correctos, guardando el correctobounds
, center
ytransform
no es el origen de mi problema, el origen de mi problema, es establecer estos valores en dibujablesCGLayer
víaCGContextTranslateCTM
.