2009-10-13 2 views

risposta

12

Ho finito per trovare una soluzione. Nel mio caso, lo scorrimento è stato animato a livello di programmazione dopo il lancio, per simulare una slot machine (con 3 UIScrollViews orizzontali). Lo stavo facendo con scrollRectToVisible: animated: method.

ho avuto modo di impostare una velocità personalizzato utilizzando BeginAnimation di 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 dipende dalla distanza lo scroller deve muoversi tra ogni "disegno".

4

Una versione moderna con i blocchi:

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