iphone - uitableviewcell - Cómo restablecer la posición de desplazamiento de una UITableView?
uitableviewcell lifecycle (2)
August obtuvo el método específico de UITableView. Otra forma de hacerlo es:
[tableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
Este método se define en UIScrollView, la clase principal para UITableView. El ejemplo anterior le dice que se desplace al cuadro 1x1 en 0,0 - la esquina superior izquierda, en otras palabras.
Me gustaría restablecer completamente la posición de desplazamiento de una UITableView, de modo que cada vez que la abra muestre los elementos más importantes. En otras palabras, me gustaría desplazar la vista de tabla a la parte superior cada vez que se abre.
Intenté usar el siguiente fragmento de código, pero parece que no entendí la documentación:
- (void)viewWillAppear:(BOOL)animated {
[tableView scrollToNearestSelectedRowAtScrollPosition:UITableViewScrollPositionTop animated:NO];
}
¿Es este el enfoque equivocado aquí?
El método que está utilizando se desplaza a (como lo implica el nombre del método) la fila seleccionada más cercana. En muchos casos, esta no será la fila superior. En cambio, quieres usar cualquiera
scrollToRowAtIndexPath:atScrollPosition:animated:
o
selectRowAtIndexPath:animated:scrollPosition:
donde usa la ruta de índice de la fila a la que desea desplazarse. El segundo método realmente selecciona una fila, el primer método simplemente se desplaza hacia ella.