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的分隔符样式。
-
最简单的方法是在每个单元格视图中包含分隔线背景图像。 你可以检查你的单元格在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行];
- 将分隔线添加为单元格。 我最近在这里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; }
这是另一种方法来添加自定义分隔线到UITableView
的CALayer
为图像,并使用它作为分隔线。
//为分隔线的图像制作一个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];