1

我正在尝试创建一个包含 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;
}
4

2 回答 2

2

您已宣布tableView:heightForRowAtIndexPath:返回NSInteger

那应该是CGFloat

于 2012-08-10T21:04:07.043 回答
1

只是为了增加行的高度。只需在 indexpath 处编写行的高度方法简单地编写

if (indexpath.section== 0)

  return 50;
于 2012-08-10T18:37:26.857 回答