rotar imagen usando CGContextDrawImage

¿Cómo puedo rotar una imagen dibujada porCGContextDrawImage() en su centro?

EndrawRect:

                CGContextSaveGState(c);


                rect = CGRectOffset(rect, -rect.size.width / 2, -rect.size.height / 2);
                CGContextRotateCTM(c, angle);
                CGContextDrawImage(c, rect, doodad.CGImage);
                CGContextRotateCTM(c, -angle);
                CGContextTranslateCTM(c, pt.x, pt.y);

                prevRect = rect;

                CGContextRestoreGState(c);

Dibujé la imagen en el origen y la giré en su centro, luego la traduje a donde debería dibujarse. No funciona.

Respuestas a la pregunta(4)

Su respuesta a la pregunta