系统自带的UITAbleViewCell之间的分割线默认左边是有边距的,如图
- 然而我们在工作中经常遇到cell的分割线要占据全屏的需求,接下来我就用三种方式来讲讲怎样让cell的分割线占据全屏
- 方式一:这种方式只适用于xib,首先隐藏掉系统的分割线,然后在xib中在cell的底部添加一个高度为1宽度为屏幕宽度的view
- 隐藏系统自带的分割线:
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
-
在xib中添加一个view并设置约束和颜色:
-
效果图:
- 隐藏系统自带的分割线:
- 方式二:设置tableView的separatorInset
self.tableView.separatorInset = UIEdgeInsetsZero;
运行程序后还是存在边距,接下来设置cell的属性self.layoutMargins = UIEdgeInsetsZero;
,设置成功:
- 方式三:这个方式是万能的,不需要考虑版本适配问题,其实也是投机取巧了,原理是重写cell的setFrame方法,把cell的高度减一,这样tableView的背景就露出来了,步骤:
- 1.隐藏分割线
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
- 2.设置tableView的背景色为分割线的颜色
self.tableView.backgroundColor = LHLColor(220, 220, 221);
- 3.重写setFrame方法
- (void)setFrame:(CGRect)frame
{
frame.size.height -=1;
[super setFrame:frame];
}