¿Hay alguna manera de eliminar la línea de separación de un UITableView?


225

Estoy buscando una manera de eliminar por completo la línea de separación en UITableView cuando está en modo plano. Esto se hace automáticamente en grupo, pero esto también cambia las dimensiones de la tabla de una manera que es difícil de medir. He configurado el color de la línea de separación en colorClear. Pero esto no resuelve completamente el problema.

Como estoy tratando de dibujar una vista de fondo personalizada en las celdas, y quiero que las celdas sean transparentes, la línea de un píxel que permanece en el medio me está causando problemas. ¿Existe una solución más elegante que usar una vista agrupada y luego estirarla?


Cambiar separatorInsetcomo en esta respuesta stackoverflow.com/a/8561820/1418457
onmyway133

Respuestas:


454

Puedes hacer esto con la UITableViewpropiedad separatorStyle. Asegúrese de que la propiedad esté configurada UITableViewCellSeparatorStyleNoney que esté configurado.

C objetivo

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

En Swift (antes de 3)

tableView.separatorStyle = .None

En Swift 3/4/5

tableView.separatorStyle = .none

39
También puede hacer esto en IB, por cierto (separador => ninguno).
Bart Jacobs

1
Esto solo parece eliminar las líneas de separación dentro de una sección de tabla. ¿Hay alguna forma de eliminar las líneas de separación entre secciones?
devios1

44
La línea entre secciones no es realmente una línea, sino la vista de la sección. Puede cambiar la vista implementando tableView:viewForHeaderInSection:desde el UITableViewDelegateprotocolo.
Bart Jacobs

64

También puede hacer esto en el editor de guiones gráficos / xib. Simplemente configure Seperator en none.

ingrese la descripción de la imagen aquí


62
- (void)viewDidLoad {
    [super viewDidLoad];
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}

18

Todavía tenía una línea gris oscura después de intentar las otras respuestas. Tuve que agregar las siguientes dos líneas para hacer que todo fuera "invisible" en términos de líneas de fila entre celdas.

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];

Esto funcionó para mí. En mi caso, la línea de separación no aparecía entre las celdas, sino en algún lugar en el medio de ellas.
Elliot

10

En el generador de interfaces, separador de vista de tabla "Ninguno"

ingrese la descripción de la imagen aquí y las líneas de separación que se muestran después de la última celda se pueden eliminar siguiendo el enfoque. El mejor enfoque es asignar una vista vacía a tableView FooterView en viewDidLoad

self.tableView.tableFooterView = UIView ()



5

No hay error una beta de iOS 9 4: los aparezca línea de separación entre UITableViewCells aunque ajuste separatorStyleaUITableViewCellSeparatorStyleNone de un guión. Para evitar esto, debe configurarlo desde el código, porque a partir de ahora hay un error del guión gráfico. Espero que lo arreglen en la futura beta.

Aquí está el código para configurarlo:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

2

En el Método ViewDidLoad, debe escribir esta línea.

tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;

Este es el código de trabajo.


1

En su viewDidLoad:

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
    [self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.