BezierPath Rotación en una UIView

Estoy dibujando un evento BezierPath on Touch. Ahora tengo que girar ese Bezier Path en la misma location usando el Método Gestual. Pero el problema es que, después de la rotation, su position se transforma. Su aspecto es la siguiente image … ¿Cómo puedo solucionar esto?

Dibujo BezierPath

La image superior es la image original. Comparta sus ideas conmigo. Gracias de antemano.

Marque esto en la documentation de Apple.

applyTransform: transforma todos los puntos en la ruta utilizando la matriz de transformación afín especificada.

 - (void)applyTransform:(CGAffineTransform)transform 

No he intentado esto. Pero aquí está cómo rotar un NSBezierPath desde el enlace rotating-nsbezierpath-objects . Intente utilizar el enfoque similar en UIBezierPath .

 - (NSBezierPath*)rotatedPath:(CGFloat)angle aboutPoint:(NSPoint)cp { // return a rotated copy of the receiver. The origin is taken as point <cp> relative to the original path. // angle is a value in radians if( angle == 0.0 ) return self; else { NSBezierPath* copy = [self copy]; NSAffineTransform* xfm = RotationTransform( angle, cp ); [copy transformUsingAffineTransform:xfm]; return [copy autorelease]; } } 

que usa:

 NSAffineTransform *RotationTransform(const CGFloat angle, const NSPoint cp) { // return a transform that will cause a rotation about the point given at the angle given NSAffineTransform* xfm = [NSAffineTransform transform]; [xfm translateXBy:cp.x yBy:cp.y]; [xfm rotateByRadians:angle]; [xfm translateXBy:-cp.x yBy:-cp.y]; return xfm; }