UITableView con celdas personalizadas que no ingresan al modo de edición

Tengo un UITableView con UITableViewCells personalizado.

  1. La tabla tiene dos secciones, la primera sección tiene una sola fila con un UITextField y solo se puede editar en términos del text. Esta sección y fila no se pueden editar desde una perspectiva UITableView

  2. La segunda sección es una list de celdas que se generan a partir de un NSArray. Estas células son una vez más UITableViewCells personalizadas que comprenden dos UITextFields. Estas celdas se pueden editar desde una perspectiva UITableView, en el sentido de que el usuario puede eliminar e insert filas.

  3. En mi inicializador designado he especificado self.tableView.editing = YES , también he implementado el método canEditRowAtIndexPath para devolver YES.

Planteamiento del problema

La vista de la tabla no ingresa al modo de edición. No veo los botones de eliminar o insert botones en las filas de la sección 2. ¿Qué me falta?

solo una sugerencia, compruebe si su controller cumple con estos requisitos:

Uso el UIViewController habitual y funciona bien: necesitas:

  1. haga que su controller sea un delegado de UITableViewDelegate, UITableViewDataSource
  2. implementar – (void) set Edición: (BOOL) edición animada: (BOOL) animada
  3. Agregar programáticamente el button EDIT – self.navigationItem.rightBarButtonItem = self.editButtonItem (si agrega el button EDIT del constructor, deberá llamar a setEditing: YES manualmente)

Pieza de código 🙂

 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { return UITableViewCellEditingStyleDelete; } - (void)setEditing:(BOOL)editing animated:(BOOL)animated { [super setEditing:editing animated:animated]; [self.tableView setEditing:editing animated:YES]; } - (void)tableView :(UITableView *)tableView didSelectRowAtIndexPath :(NSIndexPath *)indexPath { [self.tableView deselectRowAtIndexPath:indexPath animated:NO]; [self.navigationController popViewControllerAnimated:YES]; } - (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.rightBarButtonItem = self.editButtonItem; } // do not forget interface in header file @interface ContactsController : ViewController< UITableViewDelegate, UITableViewDataSource> 

¡Lucro!

¿Qué ocurre si [self tableView setEditing:YES animated:YES]; en lugar de self.tableView.editing = YES; ?