Me gustaría saber cuándo se UITableView
desplazó hacia abajo para cargar y mostrar más contenido, algo como un delegado o algo más para que el controlador sepa cuándo la tabla se desplazó hacia abajo.
¿Alguien sabe esto, por favor ayúdeme, gracias de antemano!
ios
uitableview
scroll
Son Nguyen
fuente
fuente
en el delegado de tableview, haz algo como esto
ObjC:
Rápido:
fuente
Neoneyes modificados responden un poco.
Esta respuesta está dirigida a aquellos de ustedes que solo desean que el evento se active una vez por cada vez que suelte el dedo .
Adecuado para cargar más contenido de algún proveedor de contenido (servicio web, datos centrales, etc.). Tenga en cuenta que este enfoque no respeta el tiempo de respuesta de su servicio web.
fuente
agregue este método en el
UITableViewDelegate
:fuente
Ninguna de las respuestas anteriores me ayudó, así que se me ocurrió esto:
fuente
Usar
– tableView:willDisplayCell:forRowAtIndexPath:
(UITableViewDelegate
método)Simplemente compare
indexPath
con los elementos de su matriz de datos (o cualquier fuente de datos que utilice para la vista de tabla) para averiguar si se muestra el último elemento.Documentos: http://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:willDisplayCell:forRowAtIndexPath :
fuente
UITableView
es una subclase deUIScrollView
y seUITableViewDelegate
ajusta aUIScrollViewDelegate
. Por lo tanto, el delegado que adjunte a la vista de tabla obtendrá eventos comoscrollViewDidScroll:
, y puede llamar a métodos comocontentOffset
en la vista de tabla para encontrar la posición de desplazamiento.fuente
Agradable y simple
fuente
en
Swift
puedes hacer algo como esto. La siguiente condición será verdadera cada vez que llegue al final de la vista de tablafuente
println("came to last row")
este código se ejecuta!Sobre la base de la respuesta de @Jay Mayu, que sentí que era una de las mejores soluciones:
C objetivo
Swift 2.x
fuente
Generalmente uso esto para cargar más datos, cuando la última celda comienza a mostrarse
fuente
Tomando excelentes respuestas de neoneye pero rápidamente, y cambiando el nombre de las variables.
Básicamente, sabemos que hemos llegado al final de la vista de la tabla si
yOffsetAtBottom
está más allá de la altura del contenido de la tabla.fuente
Aquí está el código de la versión rápida 3.0.
fuente
Mi solución es agregar celdas antes de que la vista de tabla se desacelere en el desplazamiento estimado. Es predecible por velocidad.
fuente
La respuesta de Neoneye funcionó mejor para mí en Objective C, este es el equivalente a la respuesta en Swift 3:
fuente
Quiero realizar alguna acción en mi 1 celda completa de Tableview.
Entonces el código es vincular el:
Que esto sea de ayuda para alguien.
fuente
La respuesta de @neoneye funcionó para mí. Aquí está la versión Swift 4
fuente