J'ai un UIView
que je suis capable d'utiliser avec succès. UIView
animations sur.
Ce site UIView
a également des sous-vues, que je veux également être en mesure de UIView
animer.
Cependant, il semble que chaque fois que je crée une animation et que je l'applique à la vue parent, cela fonctionne bien, mais si j'applique l'animation à la vue enfant, l'animation est inversée.
Par exemple, si je mets à l'échelle mon UIView
parent(self) par un facteur de 2 (pour doubler la largeur et la hauteur) :
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate: self];
[UIView setAnimationDuration:2];
[UIView setAnimationDelay:2];
CGAffineTransform scaleTransform = CGAffineTransformScale( self.transform, 2, 2 );
self.transform = scaleTransform;
[UIView commitAnimations];
alors cela fonctionne bien.
Mais si je fais la même chose sur l'enfant :
UIView *myObj = [[self subviews] objectAtIndex:0];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelegate: self];
[UIView setAnimationDuration:2];
[UIView setAnimationDelay:2];
CGAffineTransform scaleTransform = CGAffineTransformScale( myObj.transform, 2, 2 );
myObj.transform = scaleTransform;
[UIView commitAnimations];
Cela ne fonctionne pas. Ce qui se passe visuellement, c'est que la vue enfant se rétrécit immédiatement puis, après un délai, reprend sa taille d'origine.
Si j'enregistre les paramètres de transformation, ils sont identiques pour le parent et l'enfant et j'ai essayé de définir les paramètres suivants CGAffineTransformIdentity
.
Une idée de ce qui pourrait être le problème ?