一般来说,设计稍微好点的爱屁屁,列表的最后一个Cell都是没有分隔线的,但是TableViewCell默认是都有滴,这就需要手动给去掉,两种方案都很简单,第一种是设置Cell的separatorInset,让他偏移到屏幕外面去,第二种是自定义Cell,自己做隐藏。
前提都是找到最后一个Cell, 这个也很简单,系统有方法:
// 当前的行数 == 该分区所有cell的个数 - 1,就是最后一个cell
indexPath.row == [tableView numberOfRowsInSection:indexPath.section]-1
// 如果是该分区最后一个cell 隐藏
if (indexPath.row == [tableView numberOfRowsInSection:indexPath.section]-1)
{
// 1.系统分割线,移到屏幕外
cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, cell.bounds.size.width);
// 2.自定义Cell
cell.lineView.hidden = YES;
}
else
{
// 1.系统分割线,移到屏幕外
cell.separatorInset = UIEdgeInsetsMake(0, 15, 0, 0) ;
// 2.自定义Cell
cell.lineView.hidden = NO;
}
两种方案应该都是可行的,用第二种需要设置
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone