Posicione uma vista para desenhar via renderInContext:
Eu quero desenhar umUIView
no meu atualCGGraphicsContext
. Eu desenho oUIView
através darenderInContext:
, mas não está posicionado corretamente (sempre no canto superior esquerdo).
Eu tenho todos os valores doUIView
disponível para desenhar oUIView
.
CGRect frame;
CGRect bound;
CGPoint center;
CGAffineTransform transform;
Atualmente, defino a posição e a rotação da camada assim:
CGContextTranslateCTM(context, frame.origin.x, frame.origin.y);
CGContextRotateCTM(context, (CGFloat) atan2(transform.b, transform.a));
Mas a posição, devido à rotação, não está correta e difere da posição original.
Como posso restaurar a posição original? O sistema de coordenadas não mudou no meio, é apenas uma questão de traduzir ocenter.x
ecenter.y
valores em algo apropriado paraCGContextTranslateCTM
.
Editar:
Os valores salvos estão corretos, salvando o corretobounds
, center
etransform
não é a origem do meu problema, a origem do meu problema, está definindo esses valores para o drawableCGLayer
através daCGContextTranslateCTM
.