heightForRowatIndexPath 不设置单元格高度



我正在尝试创建一个包含 3 组的分组表视图,每个组都有不同高度的单元格。我在情节提要中设置了 3 个具有适当高度的原型单元格,并将 UITableViewController 设置为每行返回适当的高度。但是,由于某种原因,我的所有单元格在屏幕上出现时只有 1 像素高。

我已经逐步完成了代码,并为每一行返回了正确的高度和单元格。我还验证了每个单元格的帧在返回之前是否正确。但是,调用rectForRowAtIndexPath显示每行的rect只有 1 个像素高。

当使用恒定的单元格高度时,这个问题完全消失了。在这种情况下,单元格可以完美显示,其中一些单元格太短/太高,因为它们应该是可变高度的。

知道这里发生了什么吗?我想了解一下使用 heightForRowAtIndexPath 时如何确定每行的矩形。

高度代码ForRowAtIndexPath:

- (NSInteger)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{    
    switch (indexPath.section) {
        case 0:
            return 80.0;
            break;
        case 1:
            return 260.0;
            break;
        case 2:
            return 110.0;
            break;
        case 3:
            return 114.0;
           break;
        default:
            break;
    }
    return 0;
}

您已声明tableView:heightForRowAtIndexPath:返回NSInteger

那应该是CGFloat.

只是为了增加行的高度.只需简单地编写索引路径处行的高度方法

if (indexpath.section== 0)
  return 50;

最新更新