1 如何取消系统分割线的左边间隙
// 在tableView中取消分割线内边距
self.tableView.separatorInset = UIEdgeInsetsZero;
// 在cell中,取消layoutMargins
// 从xib加载就会调用 只会调用一次
- (void)awakeFromNib {
[super awakeFromNib];
self.layoutMargins = UIEdgeInsetsZero;
}
2 重写frame的set方法
1.取消系统的分割线,设置tableView背景色为分割线颜色
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.backgroundColor = [UIColor grayColor];
2.重写frame的set方法
// 返回每个cell的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
// 返回每个cell样式
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath ;
基于 tableView的代理方法中,先计算好cell的高度,再给cell赋值,故可以在赋值之前重写setFrame方法,留出间隙
# 设置cell的frame
- (void)setFrame:(CGRect)frame
{
frame.size.height -= 1;
// 真正给cell设置frame
[super setFrame:frame];
}
备注:通过这个方法可以设置cell四周的间隙
3 在xib中画分割线
1.取消系统的分割线
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
2.在xib同添加view并设置颜色,手动添加分割线