UI细节属性首页投稿(暂停使用,暂停投稿)iOS Developer

tableView cell分割线的设置

2016-12-15  本文已影响303人  小码码

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并设置颜色,手动添加分割线
上一篇下一篇

猜你喜欢

热点阅读