UITableView分隔线

如何更改显示在UITableView中每个单元格末尾的分隔线? 我想要一个图像是一个薄的分隔线types的线条图像。

将tableview的separatorStyle设置为UITableViewCellSeparatorStyleNone 。 将您的分隔符图像作为子视图添加到每个单元格并正确设置框架。

尝试这个

目标C

  [TableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine]; [TableView setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Divider_line@2x.png"]]]; 

迅速

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

首先你可以编写代码:

 { [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];} 

之后

 { #define cellHeight 80 // You can change according to your req.<br> #define cellWidth 320 // You can change according to your req.<br> -(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; } } 

用图像设置要分隔的分隔符的颜色。

viewDidLoad

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

我的项目是基于iOS 7这有助于我

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

然后把一个子视图作为分隔符的单元格!

尝试这个:

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

这是我如何让它工作得很好的一个例子。

请记住将表视图的分隔符样式设置为无。

您可以添加一个UIImageView,例如,单元格的高度和宽度一样宽,然后将其原点设置为单元格的左下angular。

这绝对有帮助。 加工。 但是从属性检查器中设置分隔符“none”。 在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]; 

在每个tableview单元格下添加分隔线的最简单的方法可以在storyboard本身中完成。 首先selecttableview,然后在属性检查器中select分隔线属性为单行。 之后,select要自定义的分隔符插入,并将左侧插入从左侧更新为0。

Swift 3/4

自定义分隔线,把这个代码放在一个自定义单元格中,这个单元格是UITableViewCell的一个子类(或者在CellForRow中,或者在非自定义单元格中是WillDisplay TableViewDelegates):

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

如果要更改不带分隔符,实线或蚀刻线的默认选项,则有2个选项可更改uitableview的分隔符样式。

  1. 最简单的方法是在每个单元格视图中包含分隔线背景图像。 你可以检查你的单元格在tableview中的位置,以便应用正确的背景图像,它会给你在单元格顶部或单元格底部的分隔线。

    在tableview的viewDidLoad中将分隔符样式设置为none:

    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

    在(UITableViewCell *)tableView中设置你的背景图像:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath function

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

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

    用下面的方法检查你的单元格的位置:

    NSInteger sectionRows = [tableView numberOfRowsInSection:[indexPathsection]]; NSInteger行= [indexPath行];

  2. 将分隔线添加为单元格。 我最近在这里find一个post: http : //www.dimzzy.com/blog/2012/01/separator-cells-for-uitableview/#disqus_thread

你可以试试下面:

 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]; 

要么

 - (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; } 

这是另一种方法来添加自定义分隔线到UITableViewCALayer为图像,并使用它作为分隔线。

//为分隔线的图像制作一个CALayer

 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];