2010-01-10 15 views
17

¿Cuál es la mejor manera de detener inmediatamente la desaceleración de UIScrollView en iPhone 3.0?Detener la desaceleración de UIScrollView

Me gustaría mantener la desaceleración de UIScrollView hasta que se detenga naturalmente o el usuario realice una determinada acción, pase lo que pase primero.

Gracias!

+0

Hola, ¿estás seguro de que quieres algo como esto? comportamiento de aplicación como este será rechazado por apple seguro. –

+0

¿Quiere decir que después de que el usuario mueve la vista de desplazamiento y se desplaza, quiere evitar que la vista se desplace en respuesta a otra cosa, como si el usuario hubiera puesto el dedo sobre ella para detenerla? – Nimrod

+0

Henrik: Sí. No debería causar rechazo en el contexto en que lo necesito. – hpique

Respuesta

15

sugerencia No comprobado que viene :)

Cuando el evento de botón del grifo es capturado, se lee lo que el [ScrollView contentOffset] .x es, y ajustar el desfase de este valor con la animación OFF.

+0

Funciona y parecía una forma no hacky de hacerlo. Sin embargo, por alguna razón desconocida, hizo que los indicadores de desplazamiento parpadearan en el lugar equivocado. El siguiente código detiene la desaceleración y también evita el efecto visual mencionado anteriormente: \t myScrollView.showsHorizontalScrollIndicator = NO; \t myScrollView.showsVerticalScrollIndicator = NO; \t [myScrollView setContentOffset: myScrollView.contentOffset animated: NO]; \t myScrollView.showsHorizontalScrollIndicator = SÍ; \t myScrollView.showsVerticalScrollIndicator = YES; Código feo. – hpique

+0

Me alegro de que funcionó :) ¿Los "indicadores de desplazamiento parpadean en el lugar incorrecto" significa que las barras de desplazamiento no estaban en el lado derecho ni en el inferior? Creo que tienes [scrollView setPagingEnabled: YES]; y que esto podría confundir un poco el scrollView. ScrollView: "La configuración dice desplazarse a la página siguiente y dibujar las barras de desplazamiento en la coordenada xy y" Usted: "Detener lo que está haciendo y descubrir por su cuenta dónde dibujar las barras de desplazamiento!". Acabo de hacer algo similar donde hice una vista de desplazamiento que se ajustaba a cada 80 px, pero utilicé la animación: SÍ y ¿eso podría darle un poco más de tiempo para ajustar? – RickiG

+3

[scrollView setContentOffset: offset animado: NO] funciona para mí en iOS 4.2. –

Cuestiones relacionadas