uitableviewdatasource uitableviewcontroller uitableviewcell example iphone uitableview

iphone - uitableviewcell - uitableviewcontroller swift 4



Establecer el color de fondo del control de eliminaciĆ³n de una UITableViewCell (3)

En una aplicación de iPhone / iPad, estoy usando una UITableView para mostrar una lista de elementos que se pueden editar. Puedo alternar con éxito el color de fondo de las filas en mi vista de tabla. Sin embargo, cuando enciendo el "modo de edición" (es decir, visualizo el control de eliminación), cada celda parece desplazarse hacia la derecha, y el control de eliminación se desliza desde la izquierda.

Mi problema es que el control de eliminación tiene un color de fondo blanco. Me gustaría que el color de fondo del control de eliminación coincida con el color de fondo de mi UITableViewCell.

¿Cómo logro esto?


Intente configurar el fondo de la vista de accessoryView que alberga el botón Eliminar en UIColor clearColor . No estoy seguro de la sintaxis exacta, pero algo así como:

[tableView.editingAccessoryView setBackgroundColor:[UIColor clearColor]];

Si eso no lo hace por usted, puede intentar borrar el fondo de toda la tabla. Esto no debería afectar sus colores personalizados para cada celda.


Una respuesta es, en la función getCellContentView, donde crea marcos / etiquetas y los agrega como subvistas, agrega una etiqueta adicional que es mucho más amplia y comienza con un valor X negativo. Entonces, esto puede ser de color. Como se dibuja "debajo" del control de eliminación, el color se muestra.

El truco está en entender que el control de eliminación no dibuja "blanco" en ninguna parte. El color de fondo del control de eliminación en sí mismo ya está claro, por lo que debes ajustar algo debajo. El valor negativo "x" hace el truco.


Prueba esto, debe ayudar:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { cell.backgroundColor = [UIColor clearColor]; }