2011-05-12 13 views
29

Estoy trabajando en una aplicación para iPad que tiene un UISplitView. La vista raíz de la vista dividida es UITableView. Cuando se gira la vista dividida vertical, el controlador de vista raíz se muestra en un UIPopoverViewController (obviamente esta es una práctica estándar).Descartar mediante programación el botón/estado "deslizar para eliminar" para UITableViewCell?

El problema que tengo es que cuando el iPad está en rotación vertical, si el usuario se desliza para eliminar en la vista raíz y luego toca la vista de detalles, y luego vuelve a abrir la vista raíz, la celda seguirá en el mismo estado que muestra la "eliminación" del gesto deslizar. Este no es el comportamiento esperado.

Actualmente estoy llamando al reloadData en la vista de tabla en viewDidDisappear (después de super) en la vista raíz, que tiene el resultado final deseado. ¿Hay una manera más eficiente de lograr esto?

Respuesta

65

Como alternativa, puede finalizar el modo de edición UITableView (probablemente también en viewDidDisappear).

self.tableView.editing=false; 

No estoy seguro si eso es más eficiente, quizás más explícito.

+0

Juro que he intentado antes, pero funcionó muy bien. (Perdón por la demora en aceptar esta respuesta, estaba fuera de la ciudad.) Gracias :) –

+5

@Nate Pinchot, ¿estabas en algún lugar donde no hay StackOverflow? ¿Cómo se llega allí? –

+19

Obtendrá un mejor efecto si usa [self.tableView setEditing: NO animado: YES] en su lugar. –

4

Y para animarlo:

[tableView setEditing:NO animated:YES]; 
Cuestiones relacionadas