JQCell向外提供的創建cell的方法
+ (instancetype)cellWithTableView:(UITableView *)tableView{
static NSString *ID = @"JQList";
//1.判斷是否存在可重用cell
JQListCell * cell = [tableView dequeueReusableCellWithIdentifier:ID];
if (!cell)
{
//2.為cell自定義類注冊并指定重用標識
[tableView registerClass:[JQListCell class] forCellReuseIdentifier:ID];
cell = [[JQListCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:ID];
}
//不要選中狀態
cell.selectionStyle=UITableViewCellSelectionStyleNone;
//4.返回cell
return cell;
}
JQCell內部重寫該方法來添加子控件
/*
* 重寫該方法做初始化操作
*/
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self){
#warning 因為一個cell的默認寬度就是320,所以我們需要做這樣一個修改
self.width = JQMainScreenSize.width;
//1.創建子控件
JQLabel *nameLbl = [[JQLabel alloc]init];
JQLabel *explainsLbl = [[JQLabel alloc]init];
nameLbl.backgroundColor=JQBlackColor;
nameLbl.numberOfLines=0;
nameLbl.font = JQFont;
nameLbl.textColor=[UIColor whiteColor];
explainsLbl.numberOfLines=0;
explainsLbl.backgroundColor=JQRedColor;
explainsLbl.textColor=[UIColor whiteColor];
explainsLbl.font = [UIFont systemFontOfSize:14];
[self.contentView addSubview:nameLbl];
[self.contentView addSubview:explainsLbl];
self.nameLbl = nameLbl;
self.explainsLbl = explainsLbl;
//2.設置子控件frame
CGFloat nameX = 0;
CGFloat nameY = 0;
CGFloat nameW = 90;
CGFloat nameH = 54;
CGFloat explainsX = nameW;
CGFloat explainsY = 0;
CGFloat explainsW = self.width - nameW;
CGFloat explainsH = nameH;
nameLbl.frame = CGRectMake(nameX, nameY, nameW, nameH);
explainsLbl.frame = CGRectMake(explainsX, explainsY, explainsW, explainsH);
}
return self;
}