¿Cómo puedo determinar si el usuario se ha desplazado hasta la última celda/parte inferior de una UITableView?¿Cómo determinar si el usuario se desplazó hasta la parte inferior de UITableView?
11
A
Respuesta
28
UITableView hereda de UIScrollView y desplazarse vista expone una propiedad contentOffset
(documentación here).
Utilice esto con un poco de matemática para determinar si el contentOffset está dentro de frame.size.height
en la parte inferior.
Actualización: he aquí una puñalada en una fórmula que le dará lo que quiere:
if(tableView.contentOffset.y >= (tableView.contentSize.height - tableView.frame.size.height)) {
//user has scrolled to the bottom
}
5
Use NSArray *paths = [tableView indexPathsForVisibleRows];
. Luego, verifique si el último objeto en esa matriz es indexPath para la celda final.
Fuente: Another Question
1
Gracias a las nuevas versiones de iOS, hay una manera más fácil con la función willDisplayCell:
func tableView(tableView:UITableView, willDisplayCell cell:UITableViewCell, forRowAtIndexPath indexPath:NSIndexPath) {
if (indexPath.row >= tableView.numberOfRowsInSection(0)) {
NSLog("User got to bottom of table")
}
}
Nota que UICollectionViews tiene una función similar:
func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
}
Cuestiones relacionadas
- 1. detectar si UITableView ha desplazado hasta la parte inferior
- 2. Cómo determinar si un usuario se desplazó hasta el final de un NSTableView
- 3. ¿Cómo sé que la vista de desplazamiento ya se desplazó hacia la parte inferior?
- 4. iOS - viewForFooterInSection pegado a la parte inferior de UITableView
- 5. Desplácese hasta la parte inferior de C# TextBox
- 6. Desplácese hasta la parte inferior de C# DataGridView
- 7. Agregar celda a la parte inferior de UITableView en iOS
- 8. UITableView No se puede desplazar hasta abajo
- 9. Cómo saber cuándo UITableView se desplazó hacia abajo en iPhone
- 10. haga que UIView en UIScrollView se adhiera a la parte superior cuando se desplazó hacia arriba
- 11. Cambiar el tamaño de la altura de UITableView, y seguir desplazándose en la parte inferior
- 12. Haga que un div se adhiera a la parte superior de la pantalla si se desplazó hacia abajo
- 13. jquery - detectar si la parte inferior de la div está tocando la parte inferior de la ventana del navegador?
- 14. ¿Cómo mostrar div cuando el usuario llega a la parte inferior de la página?
- 15. Swing: Desplácese hasta la parte inferior de JScrollPane, condicional en la ubicación de la ventana actual
- 16. panel autoscroll en la parte inferior
- 17. ¿Hay alguna manera de hacer que jqGrid se desplace hasta la parte inferior cuando se agrega una nueva fila?
- 18. Cómo hacer que un diálogo se deslice desde la parte inferior hasta la mitad de la pantalla en Android
- 19. ¿Cómo desplazarse de manera confiable TreeView virtual hasta la parte inferior?
- 20. Cómo hacer que el anuncio se muestre en la parte inferior de la pantalla sin superposición
- 21. Ponga Scripts en la parte inferior
- 22. Use jQuery para desplazarse hasta la parte inferior de un div con un montón de texto
- 23. Hacer que la altura del pie de página se extienda hasta la parte inferior de la página
- 24. UITableView con un gradiente de transparente en la parte superior e inferior
- 25. UIWebView parte inferior
- 26. Cómo alinear div en la parte inferior de la página, no en la parte inferior de la pantalla
- 27. ¿Cómo determinar si un flotador tiene una parte fraccionaria?
- 28. Cabecera UITableView que se mantiene en la parte superior
- 29. pestañas en la parte inferior de TabControl
- 30. Posición en la parte inferior derecha de la pantalla
¿Cuál es la matemática? –
agregó una fórmula que puede usar ... –
¡El código ya casi está allí! Puedo detectar la parte inferior, pero cuando llego al final, el código en el bloque if se llama muchas veces si el usuario mantiene la posición de desplazamiento. ¿Cómo puedo resolver? –