Pregunta

Estoy creando una aplicación con un UITableView Ser el primer elemento en la pila de la UINavigationController que está en. Haciendo una selección en el UITableView empujará la vista a un "DetailedViewController". En el DetailedViewController, puede navegar a través de los elementos con los que se llena la vista de la tabla.

Al hacer estallar el DetailedViewController, y volver a la UITableView, ¿cómo puedo anular el anexo respectivo al que he navegado a través del DetailedViewController y mostrarlo centrado en el UITableView?

Un ejemplo que todos pueden ver sería la solicitud de correo. Cuando estás en tu bandeja de entrada y haces una selección, empuja un "DetailedViewController". Allí, puedes navegar a través de los elementos poblados en el UITableView. Cuando estallas el DetailedViewController, deselecciona el elemento respectivo que estabas mirando al final en el DetailedViewController.

¿Fue útil?

Solución

Para anular la selección de la fila seleccionada, escriba el siguiente código viewDidAppear: método.

// Index path for selected row
NSIndexPath *selectedRow = [_tableView indexPathForSelectedRow];

// Deselet the row with animation
[_tableView deselectRowAtIndexPath:selectedRow animated:YES];

// Scroll the selected row to the center
[_tableView scrollToRowAtIndexPath:selectedRow 
       atScrollPosition:UITableViewScrollPositionMiddle 
               animated:YES];

Otros consejos

Dependiendo de cómo desee que se vea la animación, simplemente puede anular la selección de su fila seleccionada actualmente.

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
     [tableView deselectRowAtIndexPath:indexPath animated:YES];
     ...
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top