ios – 如何在TableViewCell中增加和减少自定义单元格的高度

我是
iphone开发的新手.我正在使用自定义tableview单元格.因此,我必须根据条件增加和减少自定义单元格高度.我增加了但是在增加自定义单元格的同时,主要的tableview也增加了.我只需要增加自定义单元格.下面我展示了我用过的代码.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"test"];
    if (!cell) {
        cell= [[TableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"test"];
    }
    cell.backgroundColor = [UIColor blueColor];
    // Configure the cell...
    return cell;
}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
   int testvalue=1;
   if(testvalue == 1) {
      return 45;
   } else {
      return 100;
   }
}

Here I have attached screenshot.both main tableview and custom cell height is increasing. I don’t want to increase main tableview cell height.

最佳答案 首先,我强烈建议您为tableView使用UITableViewAutomaticDimension,这样您就不必担心单元格大小.

现在,根据您的要求,您希望在某些条件下更改单元格大小,因此您可以执行以下操作:

>在单元格中获取一个基本视图,其中包含所有其他视图
子视图.
>给这个基本视图赋予高度约束并取出它的出口
高度约束.
>现在,当您想要增加或减少高度时,只需更改即可
高度constarint常数值就像
your_height_constraint.constant = your_new_value

希望这对你有所帮助.

点赞