Puis-je déplacer l'origine lors d'une rotation de la transformer en Quartz 2D pour l'iPhone?

Désolé si c'est évident, ou couvertes d'ailleurs, mais j'ai cherché sur google toute la journée et n'ai pas trouvé de solution qui fonctionne.

Mon problème est le suivant: je suis en train de dessiner une image en plein écran UIView, pour des exemples de saké, on va dire que l'image est dans le coin en bas à droite de la UIView. J'aimerais faire une transformation de rotation(CGAffineTransformMakeRotation) au centre de l'image, cependant, par défaut, la commande de rotation tourne autour du centre de la UIView de soi. Comme un résultat, mon image se déplace autour de l'écran lorsque je tourne au lieu de rester en place et en rotation autour de son propre centre.

De ce que j'ai recueillis, j'ai besoin de traduire mon contexte, de sorte que l'origine(centre de la UIView) est au centre de mon image, de la faire Pivoter, puis de restaurer le contexte par traduction en arrière à l'original spot.

Ce qui suit est la chose la plus proche que j'ai eu à travailler, mais le problème est que, si l'image est en rotation, il se déplace vers le bas alors qu'il est en rotation. Je pense que cela est causé par l'animation de l'interpolation de la 1ère étape de la traduire et de la 3ème étape de traduire au lieu de juste de réaliser que le début et le point final sur l'traduit serait le même...

//Before this i'd make a call to a function that draws a path to a passed in context
CGAffineTransform inverseTranslation = CGAffineTransformMakeTranslation( transX, transY );
CGAffineTransform translation = CGAffineTransformMakeTranslation( -transX, -transY );
CGAffineTransform rot = CGAffineTransformMakeRotation( 3.14 );
CGAffineTransform final = CGAffineTransformConcat( CGAffineTransformConcat( inverseTranslation, rot ), translation );
//Then i apply the transformation animation like normal using self.transform = final etc etc

J'ai aussi essayé des trucs comme CGContextTranslateCTM et CGContextSaveGState/UIGraphicsPushContext, mais ceux-ci semblent avoir peu d'effet.

Je me bats avec cette pendant des jours et ma solution actuelle semble proche, mais je n'ai pas la moindre idée de comment se débarrasser de la traduction de l'interpolation. Quelqu'un aurait-il une solution ou une meilleure façon d'aller à ce sujet?

[mise à jour]
Pour le moment, je suis attiré mon image, centrée sur la UIview du centre et de définir ensuite la UIView.centre de bien à l'origine j'aimerais tourner et faire la commande rotation. Semble comme un peu un hack, mais jusqu'à ce que je peux obtenir le vrai traduit de travail, c'est mon seul choix.
Merci!

OriginalL'auteur Skyler | 2009-03-22