Ich versuche, die Geschwindigkeit eines scrollenden UIScrollView zu erhalten, nachdem der Benutzer seinen Finger angehoben hat, damit ich ein Ereignis auslösen kann, wenn die Geschwindigkeit des Scrollviews unter eine Schwellenwert-Geschwindigkeit fällt.
Die Apple-Dokumentation besagt, dass die Einheiten für die Geschwindigkeit eines Scrollviews in Punkten angegeben sind und ich vermute, dass es pro Sekunde (pts/s) sein würde, z.B. für die UIScrollView Delegate-Methode - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
.
Ich würde daher annehmen, dass die Einheiten für die Deceleration eines Scrollviews Punkte pro Sekunde pro Sekunde (pts/s^2) wären, aber dies scheint nicht der Fall zu sein.
Hier sind einige Beispielparameter, die aus einem scrollenden Scrollview genommen wurden, sobald das Pan-Gesture-Ereignis endet (d.h. sobald Sie Ihren Finger anheben), die aus den Methoden - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
und - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
stammen:
(Anfangsversatz, Zielpersatz, Anfangsgeschwindigkeit, Endgeschwindigkeit, Verzögerung, Verstrichene Zeit) =
- (364,0, 2664,5, 4,619940, 0, 0,998, 3,068916)
- (2595,5, 3288,5, 1,398724, 0, 0,998, 2,485449)
- (3094,5, 1907,0, -2,389578, 0, 0,998, 2,752163)
- (143,0, 1275,5, 2,279252, 0, 0,998, 2,718653)
wo:
- Anfangsversatz = scrollView.contentOffset.y sobald der Finger angehoben wird
- Zielpersatz = targetContentOffset->y sobald der Finger angehoben wird oder scrollView.contentOffset.y wenn das Scrollview mit der Verzögerung fertig ist
- Anfangsgeschwindigkeit = Geschwindigkeit.y sobald der Finger angehoben wird
- Endgeschwindigkeit = 0, weil das Scrollview scrollen lassen wird, bis es natürlich stoppt
- Verzögerung = scrollView.decelerationRate sobald der Finger angehoben wird
- Verstrichene Zeit = Zeit zwischen dem Anheben des Fingers und dem Ruhen des Scrollviews