2011-08-09 7 views
16

Tengo UIViewController que contienen UIScrollView dentro de él.No se puede deshabilitar el rebote con UIScrollView y pagingEnabled = SÍ

El m_scrollView es con pagingEnabled=YES;

En cada "página" Tengo UIViewController que muestran el artículo.

Para evitar que rebote cuando el golpe de usuario de la página a la página i utilizado:

m_scrollView.bounces=NO;

e incluso

m_scrollView.alwaysBounceHorizonal=NO;

noto el cambio fue sólo a la última página que es no rebote Pero al pasar las otras páginas, rebotan.

EDIT: la solución óptima era hacer que el primero y el último rebote página (por lo que el usuario obtendrá repsond no hay más páginas \ buscapersonas) y las otras páginas sin rebotar

el molesto con el rebote Al deslizar páginas, el efecto de rebote no es igual ni igual. a veces rebota más, y en ocasiones menos.

Creo que es algo que tiene que ver con la carga de datos en las páginas, pero no creo que sea así, porque sucede también cuando se cargan todas las páginas y no se produce ninguna operación de carga en segundo plano. Alguna idea?

EDIT 2: supongo que la propiedad de rebote es sobre el borde de la UIScrollView, Pero cuando se pasa de una página a otra también está rebotando. A veces puedo ver un poco de la página siguiente. Por ejemplo: deslizar de la página 2 a la página 3, y en la animación de deslizar puedo ver por 0,1 segundos la página 4.

También, la animación de deslizar no es constante. y siente que cada deslizamiento actúa poco diferente. Gracias de antemano.

+0

¿Qué quiere decir con "rebote entre páginas"? El objetivo de rebotar es "rebotar" cuando el usuario llega a cualquier borde de la vista de desplazamiento, no hay rebote entre páginas en la vista de desplazamiento habilitada de paging. –

+0

Si tengo 10 "páginas" en la vista de desplazamiento ... Cuando deslizo de la página 2 a la página 3 (por ejemplo) obtengo al azar estos resultados: -página 3 alcance es borde con poco "rebote" (retrocede y adelante) -página 3 alcance es borde, y puedo ver poco de la página 4 antes de rebotar -página 3 alcance es borde y detener (y eso es lo que quiero) de nuevo, la animación de deslizar no es constante, y no es UI amigable Espero que esté claro aquí. – perr200

+0

el comportamiento depende de cuánto arrastre antes de soltar, compruebe los métodos de delegado de desplazamiento para ver si puede controlarlo con más detalle – bshirley

Respuesta

1

Si configura un delegado para su UIScrollView, el delegado recibirá scrollViewWillBeginDecelerating: cuando el usuario levante su dedo de la pantalla. Usted puede y luego podrá tomar el control utilizando el método setContentOffset:animated: de UIScrollView para desplazarse a la página más cercana en vista, o configurar su propia animación usando el método animateWithDuration:animations: - No estoy seguro de si su propia animación tendrá prioridad sobre la ya- desaceleración en curso, sin embargo.

También puede establecer decelerationRate de UIScrollView en UIScrollViewDecelerationRateFast, lo que puede hacer que el desplazamiento sea más uniforme en esta situación.

0

conjunto de propiedades de rebote de la barra de desplazamiento falso/no .... no se recuperará después de eso ... probarlo espero yu conseguirá su solución ....

15

a hacer esto:

_scrollView = [[UIScrollView alloc]init]; 
_scrollView.pagingEnabled = YES; 
_scrollView.bounces = NO; //Here 

¡entonces, sin rebote más!

Cuestiones relacionadas