2009-10-13 4 views

Répondre

12

J'ai fini par trouver une solution. Dans mon cas, le défilement a été animé par programmation après le lancement, pour imiter une machine à sous (avec 3 UIScrollViews horizontales). Cela se faisait avec la méthode scrollRectToVisible: animated:

je suis arrivé à fixer une vitesse personnalisée à l'aide de BeginAnimation de UIView:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDelegate:self]; 
[UIView setAnimationDuration:(abs(rMid-pMid)*0.3)]; 
scrollMid.contentOffset = CGPointMake(rMid*320, 0); 
[UIView commitAnimations]; 

AnimationDuration dépend de la distance de la barre de défilement doit se déplacer entre chaque « dessin ».

4

Une version moderne avec des blocs:

[UIView animateWithDuration:1.0 animations:^{ 
    [self.scrollView scrollRectToVisible:CGRectMake(...) animated:NO]; 
} completion:^(BOOL finished) { 
    ... 
}]; 
Questions connexes