2009-12-28 12 views
28

He implementado el protocolo UIScrollViewDelegate en mi archivo .h y he implementado el métodoUIScroll Ver Delegado no llamar ScrollViewDidEndScrollingAnimation

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView 

en mi clase .m. cuando el desplazamiento se realiza en mi vista de tabla, se llama a otro método delegado de scrollview, pero cuando el desplazamiento finaliza, no se llama a -scrollViewDidEndScrollingAnimation:. Estoy un poco atrapado en esto.

Gracias y saludos

Respuesta

92

-scrollViewDidEndScrollingAnimation: se invoca cuando finaliza un desplazamiento generado por programa.
-scrollViewDidEndDecelerating: se invoca cuando finaliza un desplazamiento de deslizamiento por el usuario.

+2

+1 y gracias por explicar la diferencia entre los dos métodos de delegado. ¡Creo que esta debería ser la respuesta aceptada! –

+4

Y si también quiere reaccionar cuando un usuario arrastra la vista de desplazamiento, pero lo libera sin que la vista de desplazamiento se desplace más, también debe implementar el método '' scrollViewDidEndDragging'', puede verificar el parámetro bool '' willDecelerate'' para decidir si tiene que ejecutar el código aquí o en el método '' scrollViewDidEndDecelerating''. – TheEye

2

que tenían el mismo problema ... Intente utilizar scrollViewDidEndDecelerating lugar.

2

Tenía el mismo problema. He utilizado lo siguiente en mi clase de delegado:

#pragma mark - 
#pragma mark UIScrollViewDelegate 
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 

    NSLog(@"lol"); 
} 

funciona como un encanto!

+0

Gracias, gran ayuda. ¿Has archivado un informe de error sobre esto? Acabo de enviar rdar: // 8810881 http://openradar.appspot.com/8810881. – theory

1

que tenían el mismo problema y el problema era que no incluya el código de delegado:

self.myScrollView.delegate=self; 

Espero que esto ayude a alguien así.

0

Swift?

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) { 

} 
Cuestiones relacionadas