tableview cell自適應無需計算

weixin_33807284發表於2017-07-13

充分利用了Masonry 三方庫
https://github.com/xiaoniu-xie/AutoCellHeight.git
1.效果圖

2377300-c52d7abd0148b41e.png
張小牛.png

2.建立tableView 設定行高

table.estimatedRowHeight = 50;

3.tableViewCell的行高設定三行程式碼

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    cell.separatorInset = UIEdgeInsetsZero;
    cell.layoutMargins = UIEdgeInsetsZero;
    cell.preservesSuperviewLayoutMargins = NO;
}

4.自定義一個tableViewCell

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:[TableViewCell reuseIdentifier]];
    if (!cell) {
        cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:[TableViewCell reuseIdentifier]];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    cell.content.text = newContent;
    return cell;
}

5.自定義的tableViewCell中mas_equalTo就是對應的需要自適應的地方

 self.content = [[UILabel alloc]init];     
 self.content.numberOfLines = 0;
 self.content.backgroundColor = ZXNColor(70, 122, 142, 1);
 self.content.textColor = ZXNColor(240, 195, 79, 1);
 [self addSubview:self.content];
 [self.content mas_makeConstraints:^(MASConstraintMaker *make) {
      make.left.mas_equalTo(leftImageView.mas_right).offset(10);
      make.right.mas_equalTo(rightImageView.mas_left).offset(-10);
      make.top.equalTo(@10);
      make.bottom.equalTo(@-10);
  }];

相關文章