Ho un UIScrollView e sto chiamando scrollRectToVisible: animated: SI su di esso. Vorrei impostare la velocità con cui è animato. Può essere fatto?UIScrollView scrollRectToVisible alla velocità personalizzata
7
A
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) {
...
}];