J'ai ce point de vue et je fais une transformation de rotation à l'aide de quelque chose commeComment animer la rotation et la mise à l'échelle simultanées d'une vue?
myView.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
//The view was originally at 0 degrees.
à un autre point de mon code, je voudrais à l'échelle de la vue animant, donc je ne
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
myViews.transform = CGAffineTransformMakeScale(2.0f, 2.0f);
[UIView commitAnimations];
mais quand je fais cela, l'animation est effectuée comme la vue est à 0 degrés, en ignorant la transformation précédente. Il suppose simplement que la vue est encore à zéro degré, donc, cette animation met à l'échelle la vue et la ramène à 0 degrés (!!!! ?????)
Est-ce un bug ou est-ce que quelque chose me manque? ? merci.
Merci, mais cela résout le problème de rotation, mais crée le problème d'échelle. Le problème est le suivant: j'ai 4 facteurs de zoom que j'utilise pour cette vue, quelque chose comme 0.66, 1.0, 1.5 et 2.0. Ce sont des valeurs absolues. Si j'utilise votre solution, il sera impossible de revenir à chaque facteur de zoom .... – SpaceDog
@Mike: Pourquoi ne pas utiliser un ivar indépendant pour stocker le facteur de zoom? – kennytm
Ce que je veux dire est ceci: supposons que le facteur de zoom est à 1. alors j'utilise votre solution et passe à 0,66. Maintenant, je veux aller à 2. En utilisant l'échelle absolue, je viens de mettre le zoomFactor comme 2, mais maintenant le facteur de zoom devra être de 3,03. Pour revenir à 0,66 maintenant, je vais devoir faire 0,21. Après des millions de transformations, je ne sais pas quel est le facteur de zoom maintenant. Je vais devoir garder un historique de toutes les transformations appliquées pour connaître le facteur de zoom actuel, juste en regardant l'ivar ... il n'y a aucun moyen d'appliquer la transformation à une vue et de la rendre permanente? Je veux dire, pour mettre à jour la matrice de transformation? – SpaceDog