让tableViewCell之间的分割线占据全屏

系统自带的UITAbleViewCell之间的分割线默认左边是有边距的,如图
让tableViewCell之间的分割线占据全屏_第1张图片
  • 然而我们在工作中经常遇到cell的分割线要占据全屏的需求,接下来我就用三种方式来讲讲怎样让cell的分割线占据全屏
  • 方式一:这种方式只适用于xib,首先隐藏掉系统的分割线,然后在xib中在cell的底部添加一个高度为1宽度为屏幕宽度的view
    • 隐藏系统自带的分割线:self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    • 在xib中添加一个view并设置约束和颜色:


      让tableViewCell之间的分割线占据全屏_第2张图片
    • 效果图:


      让tableViewCell之间的分割线占据全屏_第3张图片
  • 方式二:设置tableView的separatorInsetself.tableView.separatorInset = UIEdgeInsetsZero;运行程序后还是存在边距,接下来设置cell的属性self.layoutMargins = UIEdgeInsetsZero;,设置成功:
    让tableViewCell之间的分割线占据全屏_第4张图片
  • 方式三:这个方式是万能的,不需要考虑版本适配问题,其实也是投机取巧了,原理是重写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];
}
让tableViewCell之间的分割线占据全屏_第5张图片

你可能感兴趣的:(让tableViewCell之间的分割线占据全屏)