Comment utiliser CGAffineTransformMakeScale et Rotation en même temps?
((UIImageView*)[dsry objectAtIndex:0]).transform = CGAffineTransformMakeRotation(1.57*2);
((UIImageView*)[dsry objectAtIndex:0]).transform = CGAffineTransformMakeScale(.5,.5);
Juste une de ces œuvres à la fois. Comment puis-je enregistrer une transformation et d'appliquer ensuite un autre?
Cheers
source d'informationauteur quantumpotato
Vous devez vous connecter pour publier un commentaire.
De développer ce que Pierre a dit, vous pouvez utiliser le code suivant:
La CGAffineTransformMake... fonctions créer de nouvelles transformations à partir de zéro, là où les autres concaténer des transformations. Les vues et les couches ne pouvez avoir qu'une transformation est appliquée à la fois, donc, c'est comment vous créez plusieurs mise à l'échelle, de rotation et de translation des effets sur une vue à la fois.
Vous avez besoin de faire attention à l'ordre dans lequel les transformations sont concaténés pour atteindre le bon effet.
À partir de la Documentation d'Apple:
Droit, parce que vous avez remplacé la première avec la seconde.
Concaténer ensembleet affecter la matrice obtenue à la propriété.
Vous pouvez stocker une matrice de transformation dans une variable de type
CGAffineTransform
; vous pouvez l'utiliser pour des étapes intermédiaires dans plus de transformations complexes, ou pour rendre le code plus clair (ou les deux).