Tengo una clase UIViewController, con un tableView. En viewDidLoad:UITableView en modo de edición - El botón 'Editar' no cambia el estado
UIBarButtonItem *editIcon = [[[UIBarButtonItem alloc]
initWithBarButtonSystemItem: UIBarButtonSystemItemEdit
target:self
action:@selector(toggleEditMode)] autorelease];
In te método 'toggleEditMode':
-(void)toggleEditMode{
if(self.theTable.editing) {
[theTable setEditing:NO animated:YES];
[self.navigationItem.rightBarButtonItem setStyle:UIBarButtonItemStylePlain];
}
else if ([callsArray count]!=0){
[theTable setEditing:YES animated:YES];
[self.navigationItem.rightBarButtonItem setStyle:UIBarButtonItemStyleDone];
}
}
El problema es que el botón Editar no cambia hacer 'Hecho'. ¿Qué falta? Tengo todos los métodos declarados:
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
Gracias,
RL
Perfecto. Acabo de cambiar if (editing) to if (theTable.editing) porque de tableView es un IBOutlet. La clase no hereda de UITableViewController. Gracias, RL –
De nada. :) – AechoLiu
Aunque esta es una vieja pregunta, me ayudó a darme cuenta de que olvidé el [super setEditing: edición animada: animada]; línea, que es por lo que el mío no estaba funcionando. ;) Gracias por publicar esto. – DataJock