Поместите вид для рисования через renderInContext:
Я хочу нарисоватьUIView
в моем нынешнемCGGraphicsContext
, Я рисуюUIView
с помощьюrenderInContext:
, но он расположен неправильно (всегда в верхнем левом углу).
У меня есть все значенияUIView
доступны для рисованияUIView
.
CGRect frame;
CGRect bound;
CGPoint center;
CGAffineTransform transform;
В настоящее время я устанавливаю положение и вращение слоя следующим образом:
CGContextTranslateCTM(context, frame.origin.x, frame.origin.y);
CGContextRotateCTM(context, (CGFloat) atan2(transform.b, transform.a));
Но положение из-за вращения не является правильным и отличается от исходного положения.
Как я могу восстановить исходное положение? Система координат между ними не изменилась, это просто вопрос переводаcenter.x
а такжеcenter.y
ценности в нечто подходящее дляCGContextTranslateCTM
.
Редактировать:
Сохраненные значения верны, сохраняя правильныеbounds
, center
а такжеtransform
не источник моей проблемы, источник моей проблемы, устанавливает значения тезисов для рисованияCGLayer
с помощьюCGContextTranslateCTM
.