IOS 自定义cell(手码)

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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容