¿Cómo puedo reproducir la película-a-rollo comportamiento del iPhone UIScrollView en mi propia vista personalizada?

StackOverflow https://stackoverflow.com/questions/784192

Pregunta

Me gustaría reproducir el comportamiento-flick al desplazamiento de UIScrollView, pero no desee utilizar (o no puedo usar) esa clase. ¿Qué puedo hacer?

¿Fue útil?

Solución

De acuerdo, he respondido a esta mediante la implementación de mi propia biblioteca que captura la dinámica de UIScrollView.

Lo que es útil sobre mi código es que es independiente del sistema de coordenadas, velocidad de la animación, y las clases de interfaz de usuario en particular que usted está utilizando. Puede ser fácilmente anidado en una vista de clase personalizada de su elección.

comportamiento predeterminado-flick al desplazamiento del iPhone es interesante. Si mantiene el dedo hacia abajo desde hace mucho tiempo y lo mueve en una variedad de direcciones, verá que solamente la última dirección se utiliza para calcular el movimiento de desplazamiento.

Si intenta generar el código usted mismo, sin embargo, usted descubrirá rápidamente que el simple uso de los dos últimos puntos para calcular la dirección del movimiento no se va a cortar. En cambio, mi código mantiene una breve historia de toques y utiliza la interpolación lineal para determinar donde el toque “habría sido” una pequeña cantidad de tiempo atrás. Este punto interpolado se utiliza como base para calcular el vector de movimiento. Esto conduce a una interacción muy agradable.

El código está disponible en GitHub, aquí: http://gist.github.com/100855. Es liberado bajo la licencia BSD.

Otros consejos

¿Qué pasa con UIScrollView no funcionó para usted? Esa clase es bastante flexible, ...

Dave, veo que has respondidos a su propia pregunta con algo de código, pero, no estableciendo el siguiente le dará lo que necesita:

myScrollView.bounces = YES;
myScrollView.pagingEnabled = YES;
myScrollView.directionalLockEnabled = YES;

En concreto, parece que usted ha reimplantado directionLockEnabled. Tal vez entender por qué no se puede utilizar UIScrollView es el problema más interesante: -)

Esto es genial! Lo he utilizado en una aplicación donde mi vista desplazable es el valor de los datos gráficos de un día en un rango de 1902-2037, por lo que un UIScrollView no sería eficiente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top