1.自定義控件lineView
@property(nonatomic,strong)UIView*lineView;
并進(jìn)行懶加載
-(UIView*)lineView{
if(_lineView==nil) {
_lineView= [[UIViewalloc]init];
_lineView.backgroundColor= [UIColorlightGrayColor]; //顏色可以自己調(diào)
_lineView.alpha=0.3; // 透明度可以自己調(diào)
}
return_lineView;
}
2.在創(chuàng)建的時(shí)間添加這個(gè)自定義控件(重寫父類的init方法)
-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString*)reuseIdentifier{
if(self= [superinitWithStyle:stylereuseIdentifier:reuseIdentifier]) {
[self.contentViewaddSubview:self.lineView];
}
return self;
}
3.布局子控件
/**
*布局子控件
*/
- (void)layoutSubviews {
[superlayout Subviews];
//設(shè)置分割線的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中進(jìn)行的操作
下面來到tableview中
5.隱藏分割線
在tableview的viewdidload中設(shè)置
self.tableView.separatorStyle=UITableViewCellSeparatorStyleNone;
6.判斷是否最后一行
在-(UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath 方法中判斷是否最后一行
//判斷是否是最后一行然后隱藏
cell.hidenLine= (indexPath.row== group.items.count-1); //通過組模型數(shù)組來拿到每組最后一行
Done
got it.