J'ai actuellement une vue animée d'une partie de l'écran à l'autre. Je veux que l'animation fasse une pause chaque fois que le bouton "pause" est pressé. Cela signifie que l'animation doit rester à l'endroit où elle se trouve (emplacement du cadre) lorsque je "mets en pause" l'animation. J'ai essayé quelques petites choses mais rien ne m'a donné le résultat que je veux. Voici une version approximative de mon code actuel.UIView Annuler l'animation
-(IBAction)startScroll
{
NSLog(@"Start scroll");
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:30];
//set new frame for view
[UIView commitAnimations];
}
et une méthode pour arrêter l'animation
-(IBAction)pauseScroll
{
NSLog(@"Pause Scroll");
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:0.1];
//Pause animation in it's current location
[UIView commitAnimations];
}
J'ai essayé de paramétrer le frame sur PresentationLayer.frame comme vous l'avez mentionné précédemment mais pour une raison quelconque, il est en train de déplacer la vue vers le point de coordonnée 0,0. Autre chose que je peux essayer? – Jeff
Peu importe que le comportement soit attendu ... C'est parce que j'essaye d'animer un UIScrollView pas le cadre lui-même. – Jeff