Ligne de séparation UITableView

Comment puis-je modifier la ligne de séparation qui apparaît à la fin de chaque cellule dans UITableView? Je veux avoir une image qui est une image linéaire de type séparateur mince.

Définissez le separatorStyle de la tableview sur UITableViewCellSeparatorStyleNone . Ajoutez votre image de séparation en tant que sous-vue à chaque cellule et définissez le cadre correctement.

Essaye ça

Objectif c

  [TableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine]; [TableView setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"[email protected]"]]]; 

Rapide

  tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine tableView.separatorColor = UIColor(patternImage: UIImage(named: "YOUR_IMAGE_NAME")!) 

Vous pouvez d’abord écrire le code:

 { [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];} 

après ça

 { #define cellHeight 80 // You can change according to your req.
#define cellWidth 320 // You can change according to your req.
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"seprater_line.png"]]; imgView.frame = CGRectMake(0, cellHeight, cellWidth, 1); [customCell.contentView addSubview:imgView]; return customCell; } }

Définissez la couleur du séparateur à modéliser avec votre image.

dans viewDidLoad :

 self.tableView.separatorColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"mySeparatorImage"]]; 

Mon projet est basé sur iOS 7 Cela m’aide

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

Ensuite, placez une sous-vue dans la cellule en tant que séparateur!

Essaye ça:

 UIImageView *separator = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]]; [cell.contentView addSubview: separator]; 

C’est un exemple de la façon dont je l’ai très bien fonctionné.

N’oubliez pas de définir le style de séparation pour la vue de table sur aucun.

Vous pouvez append un UIImageView qui est, par exemple, 1 sharepoint haut et aussi large que l’image de la cellule, puis définir son origine dans le coin inférieur gauche de la cellule.

Ceci est certainement une aide. Travail. mais définissez le séparateur “none” de l’inspecteur d’atsortingbut. Écrivez le code suivant dans la méthode cellForRowAtIndexPath

  UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, cell.contentView.frame.size.height - 1.0, cell.contentView.frame.size.width, 1)]; lineView.backgroundColor = [UIColor blackColor]; [cell.contentView addSubview:lineView]; 

La manière la plus simple d’append une ligne de séparation sous chaque cellule de table peut être effectuée dans le storyboard lui-même. Sélectionnez d’abord la tableview, puis, dans l’inspecteur d’atsortingbuts, sélectionnez la propriété de la ligne de séparation sur une seule ligne. Après cela, sélectionnez l’encart séparateur à personnaliser et mettez à jour l’encart gauche à 0 à partir de la gauche.

Exemple

Swift 3/4

Ligne de séparation personnalisée, placez ce code dans une cellule personnalisée qui est une sous-classe de UITableViewCell (ou dans CellForRow ou WillDisplay TableViewDelegates pour une cellule non personnalisée):

 let separatorLine = UIImageView.init(frame: CGRect(x: 8, y: 64, width: cell.frame.width - 16, height: 2)) separatorLine.backgroundColor = .blue addSubview(separatorLine) 

dans la méthode viewDidLoad:

 tableView.separatorStyle = .none 

Vous avez deux options pour modifier le style de séparation d’une vue pouvant être modifiée si vous souhaitez modifier les options par défaut qui ne sont pas des séparateurs, des lignes continues ou des lignes gravées.

  1. Le plus simple consiste à inclure une image de fond de ligne de séparation dans chaque vue de cellule. Vous pouvez vérifier où se trouve votre cellule dans la tableview pour appliquer l’image d’arrière-plan qui vous donnera soit une ligne de séparation en haut de la cellule, soit en bas de la cellule.

    Définissez le style de séparation sur none dans viewDidLoad de votre tableview:

    [self.tableView setSeparatorStyle: UITableViewCellSeparatorStyleNone];

    Définissez votre image d’arrière-plan dans la tableView (UITableViewCell *): (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) fonction indexPath

      UIImage* yourBgImg = [[UIImage imageNamed:@"bgImage.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5)]; 

    cell.backgroundView = [[UIImageView alloc] initWithImage: yourBgImg];

    vérifiez la position de votre cellule dans la section avec les éléments suivants:

    NSInteger sectionRows = [tableView numberOfRowsInSection: [indexPathsection]]; NSInteger row = [ligne indexPath];

  2. Ajoutez la ligne de séparation en tant que cellule. Je trouve un post récemment pour cela ici: http://www.dimzzy.com/blog/2012/01/separator-cells-for-uitableview/#disqus_thread

vous pouvez essayer ci-dessous:

 UIView *separator = [[UIView alloc] initWithFrame:CGRectMake(0, cell.contentView.frame.size.height - 1.0, cell.contentView.frame.size.width, 1)]; separator.backgroundColor = myColor; [cell.contentView addSubview:separator]; 

ou

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"separator.png"]]; imageView.frame = CGRectMake(0, 100, 320, 1); [customCell.contentView addSubview:imageView]; return customCell; } 

Voici une autre méthode pour append une ligne de séparation personnalisée à un UITableView en créant un CALayer pour l’image et en l’utilisant comme ligne de séparation.

// crée un calayer pour l’image pour la ligne de séparation

 CALayer *separator = [CALayer layer]; separator.contents = (id)[UIImage imageNamed:@"myImage.png"].CGImage; separator.frame = CGRectMake(0, 54, self.view.frame.size.width, 2); [cell.layer addSublayer:separator];