自定义cell隐藏每组最后一行分割线

1.自定义控件lineView

@property(nonatomic,strong)UIView*lineView;

并进行懒加载

-(UIView*)lineView{

if(_lineView==nil) {

_lineView= [[UIViewalloc]init];

_lineView.backgroundColor= [UIColorlightGrayColor]; //颜色可以自己调

_lineView.alpha=0.3; // 透明度可以自己调

}

return_lineView;

}

2.在创建的时间添加这个自定义控件(重写父类的init方法)

-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString*)reuseIdentifier{

if(self= [superinitWithStyle:stylereuseIdentifier:reuseIdentifier]) {

[self.contentViewaddSubview:self.lineView];

}

return self;

}

3.布局子控件

/**

*布局子控件

*/

- (void)layoutSubviews {

[superlayout Subviews];

//设置分割线的frame

CGFloatlineX =self.textLabel.frame.origin.x;

CGFloatlineH =1;

CGFloatlineY =CGRectGetHeight(self.frame) - lineH;

CGFloatlineW =CGRectGetWidth(self.frame) - lineX;

self.lineView.frame=CGRectMake(lineX,lineY, lineW, lineH);

}

4.添加bool属性来判断是否是最后一行

.h中添加属性

@property(assign,nonatomic)BOOLhidenLine;

.重写setter方法

- (void)setHidenLine:(BOOL)hidenLine{

_hidenLine= hidenLine;

self.lineView.hidden= hidenLine;

}



以上都是在自定义cell中进行的操作

下面来到tableview中



5.隐藏分割线

在tableview的viewdidload中设置

self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone;

6.判断是否最后一行

在-(UITableViewCell *)tableView:(UITableView *)tableView

cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中判断是否最后一行

//判断是否是最后一行然后隐藏

cell.hidenLine= (indexPath.row== group.items.count-1); //通过组模型数组来拿到每组最后一行





Done

got it.

你可能感兴趣的:(自定义cell隐藏每组最后一行分割线)