Existe uma maneira de remover a linha separadora de um UITableView?

Eu estou procurando uma maneira de remover completamente a linha separadora em um UITableView quando no modo simples. Isso é feito automaticamente em grupos, mas isso também altera as dimensões da tabela de uma maneira que é difícil de medir. Eu configurei a cor da linha de separação para colorClear. Mas isso não resolve completamente o problema.

Como estou tentando desenhar uma visualização de plano de fundo personalizada nas células, e quero que as células sejam perfeitas, a linha de um pixel que permanece no meio está me causando problemas. Existe uma solução mais elegante, em seguida, usando uma vista agrupada e, em seguida, esticá-lo?

Você pode fazer isso com a propriedade UITableView do UITableView . Certifique-se de que a propriedade esteja configurada como UITableViewCellSeparatorStyleNone e esteja configurada.

Objetivo-C

 self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 

Em Swift (antes de 3)

 tableView.separatorStyle = .None 

No Swift 3

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

Você pode fazer isso no storyboard / xib editor também. Basta definir o Seperator para nenhum.

insira a descrição da imagem aqui

Eu ainda tinha uma linha cinza escura depois de tentar as outras respostas. Eu tive que adicionar as duas linhas seguintes para tornar tudo “invisível” em termos de linhas de linha entre as células.

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

Em Swift:

 tableView.separatorStyle = .None 

No construtor de interface, defina o separador de exibição de tabela “Nenhum”

insira a descrição da imagem aqui e essas linhas separadoras que são mostradas após a última célula podem ser removidas seguindo a abordagem. A melhor abordagem é atribuir Empty View ao tableView FooterView no viewDidLoad

self.tableView.tableFooterView = UIView ()

Há um bug no iOS 9 beta 4: a linha separadora aparece entre o UITableViewCell mesmo que você defina separatorStyle como UITableViewCellSeparatorStyleNone no storyboard. Para contornar isso, você tem que configurá-lo a partir do código, porque a partir de agora há um bug no storyboard. Espero que eles consertem isso no futuro beta.

Aqui está o código para configurá-lo:

 [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 

No método ViewDidLoad, você tem que escrever essa linha.

 tableViews.separatorStyle = UITableViewCellSeparatorStyleNone; 

Este é o código de trabalho.

Na sua viewDidLoad :

 self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero]; if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeInsetsZero]; }