Objective-C --- - UITableView 三 自定義cell(梳理總結)

1.準備spa

 

 

2.實例化_tableView代理

    _tableView = [[UITableView alloc]initWithFrame:[UIScreen mainScreen].bounds];get

    [self.view addSubview:_tableView];it

    _tableView.delegate = self;io

    _tableView.dataSource = self;table

//    xib的註冊方式class

//    [_tableView registerNib:[UINib nibWithNibName:kCellID bundle:nil] forCellReuseIdentifier:kCellID];List

//    純代碼的註冊方式queue

    [_tableView registerClass:[MMTableViewCell class] forCellReuseIdentifier:MMCellID];方法

3.代理方法中 設置

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return self.dataList.count;

}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

    return 100.0f;

}

 

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    這裏沒什麼區別

//    CustemTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellID];    

    MMTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MMCellID];

//    在這裏從數據源中取出數據 給到cell中

    [cell getModel:self.dataList[indexPath.row]];

      return cell;}

 

4.自定義的cell文件中

xib中,由於約束很差截圖  只能給個大概

建立的時候會走的方法是 :

- (void)awakeFromNib {  [super awakeFromNib];}

 

純代碼中

1.準備

#define KHeightOfCell 100

#define kTagOfDesc 1111

2.設置cell

//註冊時候觸發的方法

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

    if (self = [super initWithStyle: style reuseIdentifier:reuseIdentifier]) {

        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, KHeightOfCell - 20, KHeightOfCell - 20)];

        imageView.image = [UIImage imageNamed:@"1"];

        

        UILabel *title = [[UILabel alloc]initWithFrame:CGRectMake(CGRectGetMaxX(imageView.frame), CGRectGetMinY(imageView.frame), 100, 20)];

        title.text = @"標題";

        UILabel *desc = [[UILabel alloc]initWithFrame:CGRectMake(CGRectGetMaxX(imageView.frame), CGRectGetMaxY(imageView.frame) - 20, 100, 20)];

        desc.text = @"描述";

        desc.tag = kTagOfDesc;

        [self.contentView addSubview:imageView];

        [self.contentView addSubview:title];

        [self.contentView addSubview:desc];

    }

    return self;

}

 

結果展現

相關文章
相關標籤/搜索