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

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


    • 效果图:


  • 方式二:设置tableView的separatorInsetself.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];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容