Je cherche un moyen de supprimer complètement la ligne de séparation dans un UITableView en mode brut. Cela se fait automatiquement par groupes, mais cela modifie également les dimensions du tableau de manière difficile à mesurer. J'ai défini la couleur de trait du séparateur sur colorClear. Mais cela ne résout pas complètement le problème.
Alors que j'essaie de dessiner une vue d'arrière-plan personnalisée dans les cellules et que je veux que les cellules soient transparentes, la ligne de pixel qui reste entre les deux me pose problème. Existe-t-il une solution de contournement plus élégante que l’utilisation d’une vue groupée puis son étirement?
Vous pouvez le faire avec la propriété UITableView
separatorStyle
. Assurez-vous que la propriété est définie sur UITableViewCellSeparatorStyleNone
et que vous êtes défini.
Objectif c
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
Dans Swift (avant 3)
tableView.separatorStyle = .None
Dans Swift 3/4/5
tableView.separatorStyle = .none
Vous pouvez également le faire dans l'éditeur de storyboard/xib. Il suffit de définir aucun séparateur.
- (void)viewDidLoad {
[super viewDidLoad];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
}
J'avais encore une ligne gris foncé après avoir tenté les autres réponses. J'ai dû ajouter les deux lignes suivantes pour que tout soit "invisible" en termes de lignes entre les cellules.
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.separatorColor = [UIColor clearColor];
En rapide:
tableView.separatorStyle = .None
Dans l'interface Builder, définissez le séparateur de vue de table "Aucun"
et les lignes de séparation qui sont affichées après la dernière cellule peuvent être supprimées par l’approche suivante. La meilleure approche consiste à affecter une vue vide à une table, FootView, dans viewDidLoad.
self.tableView.tableFooterView = UIView ()
Il y a un bug avec iOS 9 beta 4: la ligne de séparation apparaît entre UITableViewCell
s même si vous définissez separatorStyle
sur UITableViewCellSeparatorStyleNone
à partir du storyboard. Pour contourner ce problème, vous devez le définir à partir du code, car à partir de maintenant, il y a un bogue dans le storyboard. J'espère qu'ils vont le réparer dans la prochaine version bêta.
Voici le code pour le définir:
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
Dans la méthode ViewDidLoad, vous devez écrire cette ligne.
tableViews.separatorStyle = UITableViewCellSeparatorStyleNone;
Ceci est le code de travail.
Dans votre viewDidLoad
:
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
{
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}