I. Resumen
Este artículo presenta principalmente el contenido:
- Agregue un botón de eliminar en el lado derecho de la barra de navegación (hay un botón de agregar)
- Haga clic en el botón eliminar para eliminar la entrada de la vista de tabla
- Llamar antes de editar la vista de tabla, cambiar el modo de edición en la vista de tabla (agregar, eliminar modo)
Dos representaciones
Agregue un botón de eliminar a la derecha de las tres barras de navegación (hay un botón de agregar)
3.1 Agregar a través de Main.storyboard
-
Haga clic en "+" en la parte superior de Xcode, seleccione BarButtonItem y seleccione Papelera para el elemento del sistema
3.2 Agregar por código
Lógica de negocios
- Ahora obtenga el botón "agregar" en el diseño
- Crea un botón "eliminar" a través del código
- Agregue los dos botones anteriores a través de aviationItem.rightBarButtonItems
Código
1 2 3 4 5 6 |
// Obtener + botón UIBarButtonItem * add = self.navigationItem.rightBarButtonItem; // Agregar un botón de papelera UIBarButtonItem * trash = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemTrashselector objetivo: auto acción :) rightBarButtonItems = @ [agregar, papelera]; |
Cuatro haga clic en el botón eliminar para eliminar la entrada de la vista de tabla
4.1 Descripción lógica
- Establezca el modo de edición para la vista de tabla, cuando haga clic en el botón eliminar, cambie el modo de edición de la vista de tabla
- Cuando se elimina el modo de edición, se llamará al método commitEditingStyle para actualizar los datos y las operaciones de diseño.
4.2 Implementación del código
método de eliminación
1 |
[self.tableView setEditing:! self.tableView.editing animado: SÍ]; |
commitEditingStyle
1 2 3 4 5 |
// Eliminar datos [self.contacts removeObjectAtIndex: indexPath.row]; // Actualizar la interfaz // [self.tableView reloadData]; // Actualización global [self.tableView deleteRowsAtIndexPaths: @ [indexPath] withRowAnimation: UITableViewRowAnimationLeft]; // Eliminar Parcial |
Cinco cambian el modo de edición en la vista de tabla (modo agregar, eliminar)
5.1 Descripción lógica
- La vista de tabla llamará al método editStyleForRowAtIndexPath antes de editar, que puede establecer el estilo de las entradas en la vista de tabla
- Por ejemplo, la entrada 0 es UITableViewCellEditingStyleInsert, las otras son UITableViewCellEditingStyleDelete
- Agregue la función correspondiente al estilo correspondiente
5.2 Implementación del código
editStyleForRowAtIndexPath
1 2 3 4 5 6 7 |
- (UITableViewCellEditingStyle) tableView: (UITableView *) tableView editStyleForRowAtIndexPath: (NSIndexPath *) indexPath { if (indexPath.row == 0) { return UITableViewCellEditingStyleInsert; } return UITableViewCellEditingStyleDelete; } |
UITableViewCellEditingStyleInsert
1 2 3 4 |
Contact * contact = [Contact contactWithName: @ "grace" teléfono: @ "123"]; //[ self.contacts addObject: contact]; // 添加 到 最后 一行 [self.contacts insertObject: contact atIndex: indexPath.row + 1]; [self.tableView reloadData]; |