Deslizar para eliminar la opción en los problemas UITableView

Quiero usar la opción "deslizar para eliminar" en mi proyecto.

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { NSDictionary *userData = [_contactsArray objectAtIndex:indexPath.row]; NSLog(@"delete row %@",userData); } } - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } 

Estoy usando este código, pero da la siguiente salida que no quiero. introduzca la descripción de la imagen aquí

No quiero ese lado izquierdo less el signo en la celda. Solo quiero deslizar y mostrar el button de eliminar. El mismo código que he usado en mi proyecto anterior y funciona bien (es decir, solo desliza para mostrar el button Eliminar, no hay signo less en el lado izquierdo)

Por favor, ayúdame a resolver esto.

Está anulando los methods de delegado correctos para la funcionalidad 'deslizar para eliminar'. Con respecto a los signos less:

Ocultar signo less así:

 self.yourTableView.editing = NO; //or simply remove this line of code altogether because this property is NO by default 

Mostrar less signo como este:

 self.yourTableView.editing = YES; 

Primero crea tu vista de tabla y configura el delegado y el método de origen de datos.

  self.contacts=[[UITable alloc]init]; self.contacts.dataSource=self; self.contacts.delegate=self; self.contacts.userInteractionEnabled=YES; //self.contacts.editing = YES; [self.view addSubview:self.contacts]; 

Y luego Anular el Delegado y los methods de fuente de datos, para suprimir anular los siguientes methods.

 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return YES if you want the specified item to be editable. return YES; } // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { //add code here for when you hit delete } } 

Para el signo less en el lado izquierdo, use self.contacts.editing = YES; En mi caso, no quiero este signo less, así que simplemente no use esa propiedad ni establezca self.contacts.editing = NO;

Gracias, hw731 por recordarme esta propiedad, he desperdiciado mi medio día en esto.

Prueba esto:

  - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return YES if you want the specified item to be editable. return YES; } // Override to support editing the table view. - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { //add code here for when you hit delete } } 

Parece que estás girando el tableView.editing para que las filas aparezcan con el signo less. intente search self.tableView.editing = YES; y lo hacen NO o simplemente comentan esa línea.