2012-03-14 5 views
13

El documentation dice que es points (por segundo, supongo)? Sin embargo, los valores que obtengo están en el rango (.5, 3.5). La vista de desplazamiento recorre varios cientos de puntos antes de detenerse. La velocidad inicial real debería ser diferente en órdenes de magnitud.¿Cuál es la unidad de velocidad en scrollViewWillEndDragging: withVelocity: targetContentOffset :?

+0

Pensé que podría tratarse de alturas de pantalla o de vista (anchuras) pero eso tampoco lo era. – RS1

+0

Quizás esté en puntos por intervalo de actualización de pantalla, que es 1/60th de un segundo. Los eventos táctiles se informan en el intervalo de actualización de la pantalla, por lo que esto tendría sentido. –

+0

Supongo que podría ser, gracias. El problema es que todavía no hay forma de extraer del método ningún dato significativo (por ejemplo, tiempo hasta que se detenga) porque no conocemos la curva de desaceleración. – RS1

Respuesta

14

Es puntos/milisegundo. De UIScrollView.h:

// called on finger up if the user dragged. velocity is in points/millisecond. targetContentOffset may be changed to adjust where the scroll view comes to rest 
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset NS_AVAILABLE_IOS(5_0); 

Esto es de 7 iOS SDK, que parecía más plausible dados los valores muy bajos que han estado regresando en la velocidad.

2

De Docs

llama en el dedo hacia arriba si el usuario arrastró. la velocidad está en puntos/milisegundo. targetContentOffset se puede cambiar para ajustar dónde queda la vista de desplazamiento en reposo

Cuestiones relacionadas