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

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

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

有什么想法吗?我想了解使用heightForRowAtIndexPath时如何确定每一行的矩形。

heightForRowAtIndexPath的代码:

- (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

关于ios - heightForRowatIndexPath不设置像元高度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11906346/

10-14 23:05
查看更多