2010-11-16 23 views
1

J'anime une simple transformation UIView et souhaite pouvoir accéder aux valeurs de la transformation pendant l'animation.Obtention de la valeur d'une propriété animatrice

[UIView beginAnimations: nil contexte: NULL]; [UIView setAnimationDuration: 0,7];

CGAffineTransform rot=CGAffineTransformMakeRotation(90); 
CGAffineTransform scale=CGAffineTransformMakeScale(1, 4.0f/3.0f); 
viewFinder.transform=CGAffineTransformConcat(scale, rot); 

[UIView commitAnimations]; 

Cependant, lorsque je commets l'animation et commencer à interroger viewFinder.transform.a j'obtenir la valeur initiale, puis seulement après la fin de l'animation puis-je obtenir la version mise à jour. J'ai donc le sentiment que CoreAnimation stocke une transformation séparée sur sa pile d'animation et l'anime. Quelqu'un sait-il comment se procurer la transformation pendant l'animation?

Répondre

1

D'accord, résolu. Peu délicat et se sent comme un hack mais il fonctionne

J'Interroger ceci dans une méthode appelé à plusieurs reprises par un NSTimer

CGAffineTransform rot =[viewFinder.layer.presentationLayer affineTransform]; 

j'imagine que l'on peut faire de même pour tout autre bien