Ios 为两个自定义UITableViewCell设置不同的高度

Ios 为两个自定义UITableViewCell设置不同的高度,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我的表视图中有两个自定义的UITableViewCell,无法正确调整大小。问题是在IB中,表视图有一个行高选项,为两个单元格设置相同的高度。我不能只编辑IB中单元格的高度,为什么它不起作用,表格视图的行高度会覆盖它。我使用的是静态高度,所以我尝试根据单元格的类型设置它,但无法使其工作。有没有可能只是我的if陈述是错误的,或者我做了整个事情是错误的 - (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NS

我的表视图中有两个自定义的
UITableViewCell
,无法正确调整大小。问题是在IB中,表视图有一个行高选项,为两个单元格设置相同的高度。我不能只编辑IB中单元格的高度,为什么它不起作用,表格视图的行高度会覆盖它。我使用的是静态高度,所以我尝试根据单元格的类型设置它,但无法使其工作。有没有可能只是我的if陈述是错误的,或者我做了整个事情是错误的

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

  InboxCellTableViewCell *cellMessage = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
  InboxCell2TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell2" forIndexPath:indexPath];

    if(cell) {

        [cellMessage layoutIfNeeded];
        return 200;

    } else {
         [cell layoutIfNeeded];
         return 155;

    }
} 

你肯定能做到这一点,而且你会像你所怀疑的那样,在rowatinexpath的高度上做到这一点

您应该使用IndexPath来确定单元格的类型,然后返回该单元格类型的正确高度,而不是在执行此操作时尝试加载单元格


在CellForRowatineXpath方法中,您必须具有一些已经确定给定IndexPath的单元格类型的逻辑,因为您已经从该方法返回了不同类型的单元格了?同样的逻辑可用于在HeightForRowatineXpath方法中返回适当的高度。

HeightForRowatineXpath方法中不应获取单元格。