2009-10-13 12 views

Odpowiedz

12

Skończyło się na znalezieniu rozwiązania. W moim przypadku przewijanie zostało animowane programowo po uruchomieniu, aby naśladować automat do gry (z 3 poziomymi UIScrollViews). Robiono to za pomocą metody scrollRectToVisible: animated:.

mam ustawić prędkość niestandardowej przy użyciu beginAnimation UIView za:

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

AnimationDuration zależy od odległości przewijacz musi poruszać się między sobą „rysunek”.

4

Nowoczesna wersja z bloków:

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