Como otros han señalado, se puede seleccionar una celda mediante programación utilizando este método:
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
Sin embargo, debe tener cuidado de no para llamar a este método demasiado pronto.
La primera vez que el controlador de vista que contiene dicho tableView
es initialized
, lo más temprano que debe llamar a este método está dentro viewDidAppear:
.
Por lo tanto, usted debe hacer algo como esto:
- (void)viewDidAppear:(BOOL)animated
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; // set to whatever you want to be selected first
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
Si intenta poner esta llamada en viewDidLoad
, viewWillAppear:
, o cualquier otra llamada temprana vista del ciclo de vida, es probable que no funcionan o tienen resultados extraños (tales como desplazarse a la posición correcta pero no seleccionar la celda).
este [mensaje] (http://stackoverflow.com/questions/1845773/how-to-initially-select-a-row-in-uitableview) podría ayudar. – petert