¿Cómo selecciono programáticamente una UITableView
fila para que
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
se ejecuta? selectRowAtIndexPath
solo resaltará la fila.
iphone
objective-c
cocoa-touch
uitableview
4thSpace
fuente
fuente
Respuestas:
De la documentación de referencia:
Lo que haría es:
Y luego, desde donde quería llamar a selectRowAtIndexPath, en su lugar llama a doSomethingWithRowAtIndexPath. Además de eso, también puede llamar a selectRowAtIndexPath si desea que se realicen los comentarios de la interfaz de usuario.
fuente
Como Jaanus dijo:
Entonces solo tienes que llamar al
delegate
método tú mismo.Por ejemplo:
Versión Swift 3:
Versión ObjectiveC:
Versión Swift 2.3:
fuente
SeleccionarRowAtIndexPath de UITableView : animated: scrollPosition: debería hacer el truco.
Simplemente pase
UITableViewScrollPositionNone
por scrollPosition y el usuario no verá ningún movimiento.También deberías poder ejecutar la acción manualmente:
[theTableView.delegate tableView:theTableView didSelectRowAtIndexPath:indexPath]
después de ti,
selectRowAtIndexPath:animated:scrollPosition:
así ocurre el resaltado, así como cualquier lógica asociada.fuente
si quieres seleccionar alguna fila esto te ayudará
Esto también resaltará la fila. Luego delegue
fuente
Solución Swift 3/4/5
Seleccionar fila
DeSelect Row
fuente
Existen dos métodos diferentes para las plataformas iPad y iPhone, por lo que debe implementar ambos:
segue.
fuente
Use esta categoría para seleccionar una fila de la tabla y ejecutar un segmento dado después de un retraso.
Llame a esto dentro de su
viewDidAppear
método:fuente